5-谁是嫌疑犯——破案线索表示
*问题
- A、B至少有一人作案
- A、E、F三人中至少有两人参与作案
- A、D不可能是同案犯
- *B、C或同时作案,或与本案无关
- C、D中有且仅有一人作案
- *如果D没有参与作案,则E也不可能参与作案
A没参与作案
A == 0 或 A != 1
B参与作案
B == 1
A和B都参与作案
A == 1 并且 B == 1
逻辑运算符
&&与
||或
!非
break只退出一重循环,应设置【标志】found
TODO-1
/*
A、B至少有一人作案
A、E、F三人中至少有两人参与作案
A、D不可能是同案犯
* B、C或同时作案,或与本案无关
C、D中有且仅有一人作案
如果D没有参与作案,则D也不可能参与作案
(A == 1) || (B == 1)
(A == 1 && E == 1) || (A == 1 && F == 1) || (E == 1 && F == 1)
!((A == 1) && (D == 1))
(B == 1) && (C == 1) || (B == 0) && (C == 0)
(C == 1) && (D == 0) || (C == 0) && (D == 1)
(D == 0) && (E == 0) || (D == 1)
*/
#include <iostream>
using namespace std;
int main() {
int A, B, C, D, E, F;
bool found = false;
for (A = 0; A <= 1 && !found; A++) {
for (B = 0; B <= 1 && !found; B++) {
for (C = 0; C <= 1 && !found; C++) {
for (D = 0; D <= 1 && !found; D++) {
for (E = 0; E <= 1 && !found; E++) {
for (F = 0; F <= 1 && !found; F++) {
bool b1 = (A == 1) || (B == 1);
bool b2 = (A == 1 && E == 1) || (A == 1 && F == 1) || (E == 1 && F == 1);
bool b3 = !((A == 1) && (D == 1));
bool b4 = (B == 1) && (C == 1) || (B == 0) && (C == 0);
bool b5 = (C == 1) && (D == 0) || (C == 0) && (D == 1);
bool b6 = (D == 0) && (E == 0) || (D == 1);
if (b1 && b2 && b3 && b4 && b5 && b6) {
found = true;
cout << A << B << C << D << E << F << endl;
}
}
}
}
}
}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】