警察抓了 A、B、C、D 四名罪犯,其中一名是小偷,审讯的时候:
A说:“我不是小偷。” x !=0
B说:“C 是小偷。” x = 2
C说:“小偷肯定是 D。” x = 3
D说:“C 是在冤枉人。” x != 3
现在已经知道四个人中三个人说的是真话,一个人说了假话,请判断一下到底谁是小偷?
代码
#include <iostream>
#include <string>
using namespace std;
// 在此处补充你的代码
void who_is_thief()
{// 枚举谁是小偷for (int x = 0; x < 4; x++){int dis_a = (x != 0) ? 1 : 0; // 我不是小偷int dis_b = (x == 2) ? 1 : 0; // C是小偷int dis_c = (x == 3) ? 1 : 0; // D是小偷int dis_d = 1 - dis_c; // C说的是不对的if ((dis_a + dis_b + dis_c + dis_d) == 3) // 三个人说的是真话 {char thief = 'A' + x;std::cout << "The thief is " << thief << std::endl;break;}}
}int main()
{who_is_thief();system("pause");
}
本文发布于:2024-02-02 12:08:41,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170684692343698.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |