算法设计与分析—蛮力法
嫌疑人问题
某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:
(1)A、B至少有一人作案;
(2)A、E、F三人中至少有两人参与作案;
(3)A、D不可能是同案犯;
(4)B、C或同时作案,或与本案无关;
(5)C、D中有且仅有一人作案;
(6)如果D没有参与作案,则E也不可能参与作案。试用蛮力法设计算法将作案人找出来。
代码实现
#include <stdio.h>
int main()
{
int A,B,C,D,E,F;
for(A=0;A<2;A++)
for(B=0;B<2;B++)
for(C=0;C<2;C++)
for(D=0;D<2;D++)
for(E=0;E<2;E++)
for(F=0;F<2;F++)
if((A+B)>0&&(A+E+F)>1&&(A+D)==1&&(A+D)!=2&&(B+C)!=1&&(C+D)==1&&(!(!D&&E))){
if(A==1)
printf("A作案");
if(B==1)
printf("B作案");
if(C==1)
printf("C作案");
if(D==1)
printf("D作案");
if(E==1)
printf("E作案");
if(F==1)
printf("F作案");
}
return 0;
}
不经一番彻骨寒,哪有梅花扑鼻香?