法官审理一起盗窃案时,四名嫌疑犯的a,b,c,d的供述如下:
a:罪犯在b,c,d三人之中。
b:我没有作案,是c偷的。
c:在a和d中有一个是罪犯。
d:b说的是事实。
经调查,四人中有两人说了真话,并且罪犯只有1人。请确定真正的罪犯。
说明:此题需手工再次判分,如果直接输出答案为0分。
输入格式:
无
输出格式:
The criminal is a,b,c,d之中的一个.
答案
#include <stdio.h>
int main(void)
{
int A,B,C,D;
int la,lb,lc,ld;
for(A=0;A<=1;A++)
{
for(B=0;B<=1;B++)
{
for(C=0;C<=1;C++)
{
for(D=0;D<=1;D++)
{
la=B||C||D;//A说:嫌疑犯在B,C,D之中
lb=!B&&C;//B说:我没有作案,是C作案
lc=(A+D==1);//C说:A和D之间有一个罪犯
ld=lb;//D说:赞同B所说
if(la+lb+lc+ld==2&&A+B+C+D==1)//A,B,C,D中有两个人说的话是真的并且四人之中只有一个罪犯
{
if(A)
{
printf("The criminal is a.");
}
else if(B)
{
printf("The criminal is b.");
}
else if(C)
{
printf("The criminal is c.");
}
else
{
printf("The criminal is d.");
}
}
}
}
}
}
return 0;
}