(百例编程)51.谁是盗贼

题目:公安人员审问四名窃贼嫌疑犯。这四人当中仅有一名是窃贼,这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说:乙没有偷,是丁偷的;乙说:我没有偷,是丙便的;丙说:甲没有偷,是乙偷的;丁说:我没有偷。据这四人的答话判断谁是盗窃者。

//每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说:乙没有

//偷,是丁偷的;乙说:我没有偷,是丙便的;丙说:甲没有偷,是乙偷的;丁说:

//我没有偷。据这四人的答话判断谁是盗窃者。

//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;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值