C++狼人杀

  • Post author:
  • Post category:其他


问题描述: 三国时期,刘,关,张,赵四人闲来无事决定一起玩狼人杀。已知牌

面有三种身份:狼人、强盗和平民。他们请来孔明做法官,第一夜之后,孔明已经

知道四人当中有两个平民,其余两人为强盗和狼人。四人开始发言:

刘:张是强盗,赵是狼人;

张:刘是强盗;

关:强盗和狼人在刘和张当中,但不确定具体身份;

赵:强盗和狼人在关和张当中,但不确定具体身份;

孔明善于识人,看出四人当中有两人撒谎了。请你来编程帮孔明列出四人身份的所

有情况。

要求:用 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 版权协议,转载请附上原文出处链接和本声明。