问题描述: 三国时期,刘,关,张,赵四人闲来无事决定一起玩狼人杀。已知牌
面有三种身份:狼人、强盗和平民。他们请来孔明做法官,第一夜之后,孔明已经
知道四人当中有两个平民,其余两人为强盗和狼人。四人开始发言:
刘:张是强盗,赵是狼人;
张:刘是强盗;
关:强盗和狼人在刘和张当中,但不确定具体身份;
赵:强盗和狼人在关和张当中,但不确定具体身份;
孔明善于识人,看出四人当中有两人撒谎了。请你来编程帮孔明列出四人身份的所
有情况。
要求:用 a,b,c,d 来表示四人编号,用 0,1,2 来枚举平民,狼人,强盗三种身
份。输出顺序为:刘备,关羽,张飞,赵云。
输出格式:如下图
2 0 1 0
#include<iostream>
using namespace std;
int main(){
//a刘备,b关羽,c张飞,d赵云。
//0,1,2 来枚举平民,狼人,强盗
for(int a=0;a<=2;a++){
for(int b=0;b<=2;b++){
for(int c=0;c<=2;c++){
for(int d=0;d<=2;d++){
int l1=(c==2&&d==1);
int l2=(a+c==3);
int l3=(a==2);
int l4=(b+c==3);
if(l1+l2+l3+l4==2&&a+b+c+d==3){
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<endl;
}
}
}
}
}
return 0;
}
版权声明:本文为buhuihanshu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。