L1-093:猜帽子游戏

宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子,有的是黑色的,有的是黄色的。每个人可以看到别人头上的帽子,但是看不到自己的。游戏开始后,每个人可以猜自己头上的帽子是什么颜色,或者可以弃权不猜。如果没有一个人猜错、并且至少有一个人猜对了,那么所有的宝宝共同获得一个大奖。如果所有人都不猜,或者只要有一个人猜错了,所有宝宝就都没有奖。

下面顺序给出一排帽子的颜色,假设每一群宝宝来玩的时候,都是按照这个顺序发帽子的。然后给出每一群宝宝们猜的结果,请你判断他们能不能得大奖。


输入格式:

输入首先在一行中给出一个正整数 N(2<N≤100),是帽子的个数。第二行给出 N 顶帽子的颜色,数字 1 表示黑色,2 表示黄色。

再下面给出一个正整数 K(≤10),随后 K 行,每行给出一群宝宝们猜的结果,除了仍然用数字 1 表示黑色、2 表示黄色之外,0 表示这个宝宝弃权不猜。

同一行中的数字用空格分隔。


输出格式:

对于每一群玩游戏的宝宝,如果他们能获得大奖,就在一行中输出 Da Jiang!!!,否则输出 Ai Ya


输入样例:

5
1 1 2 1 2
3
0 1 2 0 0
0 0 0 0 0
1 2 2 0 2

输出样例:

Da Jiang!!!
Ai Ya
Ai Ya

程序代码

cpp 复制代码
#include<stdio.h>
int main(){
	int N;
	scanf("%d",&N);
	int a[N];
	for(int i=0;i<N;i++){
		scanf("%d",&a[i]);
	}
	int K,sum,flag;
	scanf("%d",&K);
	int b[N];
	for(int i=0;i<K;i++){
		sum=0;
		for(int j=0;j<N;j++){
			scanf("%d",&b[j]);
			sum+=b[j];
	}
	if(sum==0){
	printf("Ai Ya\n");
	continue;
}
	for(int i=0;i<N;i++){
		if(b[i]==0||b[i]==a[i]){
			flag=1;
		continue;
	}
		if(b[i]!=0&&b[i]!=a[i]){
			flag=0;
			printf("Ai Ya\n");
			break;
		}
	}
	if(flag==1&&sum!=0){
		printf("Da Jiang!!!\n");
	}
}
	return 0;
}

运行结果

相关推荐
old_power23 分钟前
【PCL】Segmentation 模块—— 基于图割算法的点云分割(Min-Cut Based Segmentation)
c++·算法·计算机视觉·3d
Bran_Liu37 分钟前
【LeetCode 刷题】字符串-字符串匹配(KMP)
python·算法·leetcode
涛ing39 分钟前
21. C语言 `typedef`:类型重命名
linux·c语言·开发语言·c++·vscode·算法·visual studio
Jcqsunny1 小时前
[分治] FBI树
算法·深度优先··分治
黄金小码农1 小时前
C语言二级 2025/1/20 周一
c语言·开发语言·算法
謓泽2 小时前
【数据结构】二分查找
数据结构·算法
00Allen003 小时前
Java复习第四天
算法·leetcode·职场和发展
攻城狮7号3 小时前
【10.2】队列-设计循环队列
数据结构·c++·算法
7yewh4 小时前
嵌入式知识点总结 C/C++ 专题提升(七)-位操作
c语言·c++·stm32·单片机·mcu·物联网·位操作
懒羊羊大王&4 小时前
179最大数(贪心算法)分析+源码+证明
算法·贪心算法