题目:公安人员审问四名窃贼嫌疑犯。这四人当中仅有一名是窃贼,这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说:乙没有偷,是丁偷的;乙说:我没有偷,是丙便的;丙说:甲没有偷,是乙偷的;丁说:我没有偷。据这四人的答话判断谁是盗窃者。
//每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说:乙没有
//偷,是丁偷的;乙说:我没有偷,是丙便的;丙说:甲没有偷,是乙偷的;丁说:
//我没有偷。据这四人的答话判断谁是盗窃者。
//BY AS1138 2011-04-06
#include <iostream>
using namespace std;
int main(void)
{
int a,b,c,d;
int coun = 0;
for(a=1;a>=0;--a)
for(b=1;b>=0;--b)
for(c=1;c>=0;--c)
for (d=1;d>=0;--d)
if ((b+d==1)&&(b+c==1)&&(a+b==1))
{
if(a)
coun++;
if(b)
coun++;
if(c)
coun++;
if(d)
coun++;
if(coun == 1)
{
if(a)
cout<<"甲是盗贼!"<<endl;
if(b)
cout<<"乙是盗贼!"<<endl;
if(c)
cout<<"丙是盗贼!"<<endl;
if(d)
cout<<"丁是盗贼!"<<endl;
}/*end if(coun==1)*/
coun = 0;
}/*end if((b+d==1)&&(b+c==1)&&(a+b==1)) */
return 1;
}