importjava.util.Arrays;importjava.util.HashSet;importjava.util.Set;/*** 题目:如何看待2018年刑侦科推理试题

* 解法:穷举法。生成所有可能的答案组合(共1<<20种组合),将2-10题目作为筛选条件(第1题没有信息量)

*@authorHello stranger

**/

public classReasoning {/*** 生成数组

*@paramset*/

public static voidgenerate(Set set){//1号位

for (int b = 1; b < 5; b++) {//2

for (int c = 1; c < 5; c++) {//3

for (int d = 1; d < 5; d++) {//4

for (int e = 1; e < 5; e++) {//5

for (int f = 1; f < 5; f++) {//6

for (int g = 1; g < 5; g++) {//7

for (int h = 1; h < 5; h++) {//8

for (int i = 1; i < 5; i++) {//9

for (int j = 1; j < 5; j++) {//10

for (int k = 1; k < 5; k++) {int[] a = new int[11];

a[0] = 1;//判断是否符号条件标识位

put(a,1,b);

put(a,2,c);

put(a,3,d);

put(a,4,e);

put(a,5,f);

put(a,6,g);

put(a,7,h);

put(a,8,i);

put(a,9,j);

put(a,10,k);

set.add(a);

}

}

}

}

}

}

}

}

}

}

}/***

*@paramarr 数组

*@paramy 数组下标

*@paramx 数组的值(1、2、3、4 对应A、B、C、D)*/

public static void put(int[] a,int y,intx){

a[y]=x;

}//第二题

public static void second(int[] a){if(a[5] == 3 && a[2] == 1){}else if(a[5] == 4 && a[2] == 2){}else if(a[5] == 1 && a[2] == 3){}else if(a[5] == 2 && a[2] == 4){}else{

a[0] = 0;

}

}//第三题

public static void third(int[] a){if(a[2]==a[3] && a[3]==a[4] && a[3]!=a[6] && a[3] == 2){}//234答案相同

else if(a[2]==a[3] && a[3]==a[6] && a[3]!=a[4] && a[3] == 4){}//236答案相同

else if(a[2]==a[4] && a[4]==a[6] && a[4]!=1 && a[3] == 1){}//246答案相同

else if(a[3]==a[4] && a[4]==a[6] && a[3]!=a[2] && a[3] == 3){}//346答案相同

else{//不符合条件

a[0] = 0;

}

}//第四题

public static void fourth(int[] a){if(a[1] == a[5] && a[4] == 1){}else if(a[2] == a[7] && a[4] == 2){}else if(a[1] == a[9] && a[4] == 3){}else if(a[6] == a[10] && a[4] == 4){}else{

a[0] = 0;

}

}//第五题

public static void fifth(int[] a){if(a[5] == a[8] && a[5] == 1){}else if(a[5] == a[4] && a[5] == 2){}else if(a[5] == a[9] && a[5] == 3){}else if(a[5] == a[7] && a[5] == 4){}else{

a[0] = 0;

}

}//第六题

public static void sixth(int[] a){if(a[2] == a[8] && a[4] == a[8] && a[6] == 1){}else if(a[1] == a[8] && a[6] == a[8] && a[6] == 2){}else if(a[3] == a[8] && a[10] == a[8] && a[6] == 3){}else if(a[5] == a[8] && a[9] == a[8] && a[6] == 4){}else{

a[0] = 0;

}

}//第七题//这10题中被选中次数最少的

public static void seventh(int[] a){int min = count(a, "min");if(min == 1 && a[7] == 3){}else if(min == 2 && a[7] == 2){}else if(min == 3 && a[7] == 1){}else if(min == 4 && a[7] == 4){}else{

a[0] = 0;

}

}//第八题

public static void eighth(int[] a){if(a[1]-1 != a[7] || a[1]+1 != a[7] && a[8] == 1){}else if(a[1]-1 != a[5] || a[1]+1 != a[5] && a[8] == 2){}else if(a[1]-1 != a[2] || a[1]+1 != a[2] && a[8] == 3){}else if(a[1]-1 != a[10] || a[1]+1 != a[10] && a[8] == 4){}else{

a[0] = 0;

}

}//第九题

public static void nineth(int[] a){if(a[1] == a[6]){if(a[6] != a[5] && a[9] == 1){}else if(a[10] != a[5] && a[9] == 2){}else if(a[2] != a[5] && a[9] == 3){}else if(a[9] != a[5] && a[9] == 4){}else{

a[0] = 0;

}

}else{if(a[6] == a[5] && a[9] == 1){}else if(a[10] == a[5] && a[9] == 2){}else if(a[2] == a[5] && a[9] == 3){}else if(a[9] == a[5] && a[9] == 4){}else{

a[0] = 0;

}

}

}//第十题

public static void tenth(int[] a){int sub = count(a, "sub");if(sub == 3 && a[10] == 1){}else if(sub == 2 && a[10] == 2){}else if(sub == 4 && a[10] == 3){}else if(sub == 1 && a[10] == 4){}else{

a[0] = 0;

}

}/*** TODO:统计返回最大出现次数与最小出现次数的差,或返回出现次数最小的选项

*@parama 数组

*@paramm "sub"返回次数差,否则返回出现次数最小的选项

*@return

*/

public static int count(int[] a,String m){int[] num = new int[5];for(int i=1; i<11; i++){if(a[i] == 1){

num[1] ++;

}else if(a[i] == 2){

num[2]++;

}else if(a[i] == 3){

num[3]++;

}else{

num[4]++;

}

}int max = Math.max(num[1],

Math.max(num[2],

Math.max(num[3], num[4])));int min = Math.min(num[1],

Math.min(num[2],

Math.min(num[3], num[4])));if("sub".equals(m)){return max -min;

}else{if(min == num[1]){return 1;

}else if(min == num[2]){return 2;

}else if(min == num[3]){return 3;

}else{return 4;

}

}

}public static voidmain(String[] args) {int num = 0;

HashSet set = new HashSet();

generate(set);for(int[] a : set){

second(a);

third(a);

fourth(a);

fifth(a);

sixth(a);

seventh(a);

eighth(a);

nineth(a);

tenth(a);//输出符合条件的答案

if(a[0] == 1){for(int j : Arrays.copyOfRange(a, 1, a.length)){char result = '0';if(j==1) {

result= 'A';

}else if(j==2) {

result= 'B';

}else if(j==3) {

result= 'C';

}else if(j==4) {

result= 'D';

}

System.out.print(result+",");

}

System.out.println();

}

}

}

}

2018刑侦推理 java_2018年刑侦科目推理试题相关推荐

  1. 2018年刑侦科推理试题php版,2018年刑侦科目推理试题完整版分享

    有很多小伙伴说自己一直有一个侦探梦,最近网上有一个今年的刑侦科推理试题出来了哦,大家可以借此机会测试一砸自己的侦探水平了,小编给大家带来2018年刑侦科目推理试题完整版分享. 2018年刑侦科目推理试 ...

  2. 2018年刑侦科推理试题php版,2018年刑侦科目推理试题

    2018年刑侦科目推理试题这肯定是一款非常令人烧题目,现在很多网友表示真的很烧脑,看见试卷之前5秒有一个刑侦梦,然而呢看完试题就表示一一想放弃了,不过没关系,小编为您带来推理试题答案完整版! 2018 ...

  3. Python时间序列模型推理预测实战:时序推理数据预处理(特征生成、lstm输入结构组织)、模型加载、模型预测结果保存、条件判断模型循环运行

    Python时间序列模型推理预测实战:时序推理数据预处理(特征生成.lstm输入结构组织).模型加载.模型预测结果保存.条件判断模型循环运行 目录

  4. tensorrt轻松部署高性能dnn推理_NVIDIA Triton推理服务器助力深度学习推理

    NVIDIA Triton推理服务器(NVIDIA Triton Inference Server),此前称为TensorRT推理服务器(TensorRT Inference Server),现可通过 ...

  5. TensorRT是NVIDIA开发的深度学习推理工具,只支持推理,不支持训练 引

    . TensorRT是NVIDIA开发的深度学习推理工具,只支持推理,不支持训练:   目前TensorRT3已经支持Caffe.Caffe2.TensorFlow.MxNet.Pytorch等主流深 ...

  6. 大一新生开学考计算机知识点,2018年大一新生入学考试科目及考试资料和内容解读...

    2018年大一新生入学考试科目及考试资料和内容解读 2018-09-16 大学开学在即,在进入大学的校门后,不少大一新生都会经历大学的第一场考试,那就是大学入学考试,很多学生都会询问大学入学考试重要吗 ...

  7. 图形推理1000题pdf_图形推理的复习流程

    1.养成图形推理的思维方式 图形推理是整个行测考试中比较独特的存在,考生可以思考一下,如果图形推理的某一道题不会,那可能真的就是不会,想多久都是想不出来的,它不像言语的题目,言语题不会的话,可能是纠结 ...

  8. 2018年初级通信工程师考试科目及考试内容介绍

    摘要: 2018年初级通信工程师考试科目分为两科:初级通信专业综合能力和初级通信专业实务,其他考试内容说明如下,供大家参考: 2018年初级通信工程师考试科目已经公布,考试时间也已经公布: 2018年 ...

  9. 2018年计算机技术考哪几门,2018年计算机技术在职研究生考试科目具体是什么

    2018年,大家期待依旧的五月在职研究生报名活动在3月份就要开始了,具体的报考信息是想要参加此种考试的快考试要知道的多一些的的,考生要问的问题是,2018年计算机技术在职研究生考试科目具体是什么?下面 ...

最新文章

  1. ICITR 2021 | 排序算法中的用户公平性、item公平性和多样性
  2. Mac电脑「空格键」的使用技巧
  3. 百度SEO资源吧emlog模版全套源码
  4. 如何简单粗暴地上手 TensorFlow 2.0?
  5. 简述网桥、网关、网卡之间的联系和区别
  6. 使用C#创建Windows服务
  7. Javascript代码编写的逻辑冗余
  8. 你们信不信,everyting找不全文件
  9. (5)Scrum Master的7种武器之长生剑和孔雀翎
  10. bootmgr is missing
  11. 导航网站盈利模式及发展展望
  12. Xcode6内置环境变量(Build Setting Macros)
  13. 云主机-本地内网通信OPEN-V
  14. 7-2 航空公司VIP客户查询 (20分)
  15. 《SpringBoot框架开发技术整合》笔记(二)
  16. 本地ecshop网站怎么上传到服务器,ecshop 上传服务器
  17. 中企海外周报 | 华为企业业务将首登MWC;中国平安加速印尼金融业数字化转型...
  18. MySQL多表查询练习
  19. python 单斜杠/和双斜杆//的区别
  20. 构造函数 和 析构函数 能否抛出异常

热门文章

  1. ACL 2019 | 基于知识增强的语言表示模型,多项NLP任务表现超越BERT
  2. php-fpm自启动,php-fpm自启脚本
  3. python如何修改excel数据库_python修改excel数据库
  4. 判断dialog是否显示_如何成为一流的仪表维修工之液位测量仪表故障检查判断思路...
  5. Tomcat【环境搭建 01】安装包版本说明+安装+参数配置+启动(JDK11+最新版apache-tomcat-10.0.12)
  6. 欲从事服务端工作不懂seata?一篇小demo零基础带你快速掌握分布式事务框架seata的基本使用!
  7. Vue——整合Katex
  8. PHP/AJAX——登录页面与登录信息提示(非安全版本)
  9. 丑数 Humble Numbers
  10. python 批量创建变量_Python批量生成和调用变量