Java编写,谁是窃贼—穷举
实现下面的功能:甲、乙、丙、丁四个嫌疑人,只有1人为偷盗者。在审讯中,四人诚实或说谎都有可能。
公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎。在回答公安人员的问题中:
// 甲说:“乙没有偷,是丁偷的。”
// 乙说:“我没有偷,是丙偷的。”
// 丙说:“甲没有偷,是乙偷的。”
// 丁说:“我没有偷”
// 请根据这四人的谈话判断谁是盗窃者
代码:
public class 寻找窃贼
{/*** @param args*/public static void main(String[] args) {// 公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎。在回答公安人员的问题中:// 甲说:“乙没有偷,是丁偷的。”// 乙说:“我没有偷,是丙偷的。”// 丙说:“甲没有偷,是乙偷的。”// 丁说:“我没有偷”// 请根据这四人的谈话判断谁是盗窃者int a, b, c, d;// 穷举// 真为0,假为1for (a = 0; a < 2; a++)for (b = 0; b < 2; b++)for (c = 0; c < 2; c++)for (d = 0; d < 2; d++){if (b + d == 1 && b + c == 1 && a + b == 1&& a + b + c + d == 1){// 成立找到窃贼if (a == 1)System.out.println("小偷是甲\n");if (b == 1)System.out.println("小偷是乙\n");if (c == 1)System.out.println("小偷是丙\n");if (d == 1)System.out.println("小偷是丁\n");}}}
}
输出:
小偷是乙
Java编写,谁是窃贼—穷举相关推荐
- java获取数组穷举_被BAT疯抢的Java工程师,都是怎么拿到年薪50W的offer
怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师. 那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之 ...
- Java实现穷举_LeetCode 28:实现strStr() Implement strStr()
爱写bug(ID:icodebugs) 作者:爱写bug 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needl ...
- java 实现穷举算法
参考:https://blog.csdn.net/changyuanchn/article/details/51417796 题目 /*** * [0-1背包问题]有一个背包,背包容量是M=150kg ...
- Java实现穷举_对数器实现(C++)
主要参考左神的JAVA版的对数器实现,主要分为以下几个步骤: 产生随机数组或者字符串,本例产生随机数组 找一个绝对正确的方法,不管复杂度 对比自己实现的方法和绝对正确的方法的结果,若相同,则返回tru ...
- 关于Java穷举法对24点卡牌游戏规定时间内输入判断对错的程序
24点游戏是经典的纸牌益智游戏. 常见游戏规则: 从扑克中每次取出4张牌.使用加减乘除,第一个能得出24者为赢.(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏. 随 ...
- 穷举法java_OpenJudge 4146:数字方格 java穷举法
首先是题目描述: 描述 如上图,有3个方格,每个方格里面都有一个整数a1,a2,a3.已知0<=a1,a2,a3<=n,而且a1+a2是2的倍数,a2+a3是3的倍数,a1+a2+a3是5 ...
- java 穷举 排列组合,JavaScript递归穷举所有排列组合并找出重复值
null export default { data() { return { resultArr:[] } }, mounted(){ this.sss('aaba','abac'); this.s ...
- java获取数组穷举_递归算法求解遍历(或穷举)问题
递归算法求解遍历(或穷举)问题 递归问题可以理解为遍历问题,必须遍历出所有的数据来,才能进行相应的运算,比如Fibonacci问题.阶乘问题,必须把每一步的值都遍历出来,然后才能做加法或乘法. 递归算 ...
- java递归实现汉字组词穷举_01背包各种算法代码实现总结(穷举,贪心,动态,递归,回溯,分支限界)...
2020-05-22 所有背包问题实现的例子都是下面这张图 01背包实现之--穷举法: 1.我的难点: (1)在用穷举法实现代码的时候,我自己做的时候认为最难的就是怎么将那么多种情况表示出来,一开开始 ...
最新文章
- java jersey使用总结_jersey使用指南
- linux 设计一个程序,要求打开文件 pass 所有者,第二章 Linux 文件操作
- OpenCV gapi模块OMZ文本检测的实例(附完整代码)
- rs232读取智能电表_没想到物联网电表这么智能!插卡预付费电表该升级了!
- Android MVC模式
- (转)OOP(面向对象编程)的几大原则
- 比特币、以太坊、瑞波币、万融链和区块链
- Swift 4.1带来条件一致性等语言上的提升
- 项目工程自动化 - OCLint
- webpack配置babel-loader
- RS232 RS485 串口 电平标准
- html弹出div弹窗
- Unity [hold on busy for 老长长时间的解决方法]
- 什么是程序?计算机时如何执行程序?
- 第十四章 使用SQL Shell界面(三)
- 20145124 《Java程序设计》第10周学习总结
- HDU 4533 威威猫系列故事――晒被子(线段树区间更新+分情况推公式)
- 解决git时出现error: src refspec master does not match any问题
- arcgis10.8深度学习介绍课程梳理
- MAU: A Motion-Aware Unit for Video Prediction andBeyond学习记录