找犯人——蛮力法(算法)

某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:

(1)A、B至少有一人作案;(2)A、E、F三人中至少有两人参与作案;(3)A、D不可能是同案犯;(4)B、C或同时作案,或与本案无关;(5)C、D中有且仅有一人作案;(6)如果D没有参与作案,则E也不可能参与作案。试用蛮力法设计算法将作案人找出来。

 1 #include <iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int A,B,C,D,E,F,G;
 8     for(A=0;A<2;A++)
 9     for(B=0;B<2;B++)
10     for(C=0;C<2;C++)
11     for(D=0;D<2;D++)
12     for(E=0;E<2;E++)
13     for(F=0;F<2;F++)
14     for(G=0;G<2;G++)
15     if((A+B>0) && (A+E+F>=2) && (A+D<2) 
&& ((B+C)==2 || (B+C)==0) && (C+D==1) && (D==0&&E==0||D==1)){ 16 puts(A==1?"作案":"不作案"); 17 puts(B==1?"作案":"不作案"); 18 puts(C==1?"作案":"不作案"); 19 puts(D==1?"作案":"不作案"); 20 puts(E==1?"作案":"不作案"); 21 puts(F==1?"作案":"不作案"); 22 printf(" "); 23 } 24 return 0; 25 }
原文地址:https://www.cnblogs.com/xym4869/p/8643209.html