找犯人——蠻力法(算法)
阿新 • • 發佈:2018-03-25
body 至少 clu a+b pos nbsp div sin main
某地刑偵大隊對涉及六個嫌疑人的一樁疑案進行分析:
(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 }
找犯人——蠻力法(算法)