1、某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:
(1)A、B至少有一人作案;
(2)A、E、F三人中至少有两人参与作案;
(3)A、D不可能是同案犯;
(4)B、C或同时作案,或与本案无关;
(5)C、D中有且仅有一人作案;
(6)如果D没有参与作案,则E也不可能参与作案。试设计算法将作案人找出来。
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,e,f;
for(a=0;a<=1;a++)
{
for(b=0;b<=1;b++)
{
for(c=0;c<=1;c++)
{
for(d=0;d<=1;d++)
{
for(e=0;e<=1;e++)
{
for(f=0;f<=1;f++)
{
if(((a||b)||(a&&b))&&((a&&e&&!f)||(a&&f&&!e)||(!a&&e&&f)||(a&&e&&f))&&(!(a&&d))&&((b&&c)||(!b&&!c))&&((c&&!d)||(!c&&d))&&(!d&&!e))
goto out;
}
}
}
}
}
}
out:if(a) cout<<"A ";
if(b) cout<<"B ";
if(c) cout<<"C ";
if(d) cout<<"D ";
if(e) cout<<"E ";
if(f) cout<<"F ";
cout<<endl;
return 0;
}
ABCF。