原题链接:蓝桥杯算法提高VIP-凶手
参考代码:
public class 凶手 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //1498: [蓝桥杯][算法提高VIP]凶手 /*巴斯维克命案抓住了六个嫌疑犯,他们的口供如下: A:我不是罪犯 B:A、C中有一个是罪犯 C:A和B说了假话 D:C和F说了假话 E:其他五个人中,只有A和D说了真话 F:我是罪犯 他们中只有一半说了真话,凶手只有一个。 本题可能有多种可能性,即正确答案(找到唯一的凶手)可能有多个,但每一个可能的答案(某一个是凶手)都满足上述口供。 请编程找出可能的凶手输出。 (假设唯一的凶手是A或者D或者E,则输出结果为三行,按字母顺序依次输出)*/ int [] arr=new int[6]; int count; for (int i = 0; i <6; i++) { arr[i]=1; count=0; boolean f1=false,f2=false,f3=false,f4=false,f5=false,f6=false; if (arr[0]!=1) { f1=true; count++; } if (arr[0]==1||arr[2]==1) { f2=true; count++; } if (!f1&&!f2) { f3=true; count++; } if (!f3&&!f6) { f4=true; count++; } if (f1&&!f2&&!f3&&f4&&!f6) { f5=true; count++; } if (arr[5]==1) { f6=true; count++; } if (count==3) { System.out.println((char)(i+65)); } arr[i]=0; } } }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复