使用java写出一个穷举算法,分不多,求高人热心帮助
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/06 14:08:58
使用java写出一个穷举算法,分不多,求高人热心帮助
警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷。在审问时,A说:“我不是小偷”;B说:“C是小偷”;C说:“小偷肯定是D”;D说:“C在冤
枉好人”。现在已经知道这四人中有三人说的是真话,一人说的是假话。请问到底谁是小偷?
求使用穷举法写出答案 要求有注释的
警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷。在审问时,A说:“我不是小偷”;B说:“C是小偷”;C说:“小偷肯定是D”;D说:“C在冤
枉好人”。现在已经知道这四人中有三人说的是真话,一人说的是假话。请问到底谁是小偷?
求使用穷举法写出答案 要求有注释的
![使用java写出一个穷举算法,分不多,求高人热心帮助](/uploads/image/z/6103809-9-9.jpg?t=%E4%BD%BF%E7%94%A8java%E5%86%99%E5%87%BA%E4%B8%80%E4%B8%AA%E7%A9%B7%E4%B8%BE%E7%AE%97%E6%B3%95%EF%BC%8C%E5%88%86%E4%B8%8D%E5%A4%9A%EF%BC%8C%E6%B1%82%E9%AB%98%E4%BA%BA%E7%83%AD%E5%BF%83%E5%B8%AE%E5%8A%A9)
求加分,纯手打啊有木有……
public class Test {
/*
*
* 警察局抓住了A、B、C、D四名盗窃嫌疑犯,
* 其中只有一人是小偷。在审问时,A说:“我
* 不是小偷”;B说:“C是小偷”;C说:“小偷
* 肯定是D”;D说:“C在冤枉好人”。现在已经
* 知道这四人中有三人说的是真话,一人说的
* 是假话。请问到底谁是小偷?
*
* 即A说:thief != A;
* B说:thief == C;
* C说:thief == D;
* D说:thief != D;
*
* 先分别假设他们都是小偷,如果这个条件导致
* 四个人有三个说的是真话,一个人是假话
* 即abcd四人说的条件有三个成立,一个不
* 成立即为真相!
*/
public static void main(String[] args) {
char thief;//这个人是小偷
//abcd分别代表真假,0为假,1为真,count为条件成立的个数,count=3说明有是3个说的是真话,1个是假话
int a,b,c,d,count;
for(thief='A';thief
public class Test {
/*
*
* 警察局抓住了A、B、C、D四名盗窃嫌疑犯,
* 其中只有一人是小偷。在审问时,A说:“我
* 不是小偷”;B说:“C是小偷”;C说:“小偷
* 肯定是D”;D说:“C在冤枉好人”。现在已经
* 知道这四人中有三人说的是真话,一人说的
* 是假话。请问到底谁是小偷?
*
* 即A说:thief != A;
* B说:thief == C;
* C说:thief == D;
* D说:thief != D;
*
* 先分别假设他们都是小偷,如果这个条件导致
* 四个人有三个说的是真话,一个人是假话
* 即abcd四人说的条件有三个成立,一个不
* 成立即为真相!
*/
public static void main(String[] args) {
char thief;//这个人是小偷
//abcd分别代表真假,0为假,1为真,count为条件成立的个数,count=3说明有是3个说的是真话,1个是假话
int a,b,c,d,count;
for(thief='A';thief