其他分享
首页 > 其他分享> > 警察抓小偷

警察抓小偷

作者:互联网

警察抓了 A、B、C、D、E、F、G 七名罪犯,其中四名是小偷,审讯的时候:
因此有四人说谎,警察想要找出小偷是哪些。
A说:“我不是小偷。” x !=0
B说:“E 是小偷。” x = 4
C说:“小偷肯定是 D。” x = 3
D说:“C 是在冤枉人。” x != 3
E说:“小偷不是A和F中的一人。” x=0||x=5
F说:“E在撒谎。” x!=0&&x!=5
G说:“小偷不是D,小偷一定是C。” x=2
输出有四行:
the thief is M
the thief is N
the thief is O
the thief is P
其中MNOP代表小偷
---
模拟题,非真即假,用布尔类型枚举即可。

#include<iostream>
using namespace std;
int main()
{
    int cnt=0;
    for(int x=0;x<7;x++)
    {
        //cout<<cnt++<<endl;
        int a=(x!=0)?1:0;
        int b=(x==4)?1:0;
        int c=(x==3)?1:0;
        int d=(x!=3)?1:0;
        int e=(x==0||x==5)?1:0;
        int f=(!e)?1:0;
        int g=((x!=3&&x==2))?1:0;
        if((a+b+c+d+e+f+g)==3)
        {
            cout<<"the thief is "<<char('A'+x)<<endl;
        }
    }
    return 0;
}

标签:int,thief,模拟题,抓小偷,小偷,警察
来源: https://www.cnblogs.com/tldr/p/10809129.html