某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:
(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("\n"); 23 } 24 return 0; 25 }