PTA L1-093 猜帽子游戏(15分)

2026-01-04 06:07:47 | 贴心观赛建议

题目描述

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

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

输入格式

输入首先在一行中给出一个正整数 N(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

答案代码

#include

int main(){

int n,i,j;

scanf("%d",&n);

int a[101];

for(i=0;i

scanf("%d",&a[i]);

}

int k;

int b[11][101];

scanf("%d",&k);

for(i=0;i

for(j=0;j

scanf("%d",&b[i][j]);

}

}

for(i=0;i

int wrong=0,right=0;

for(j=0;j

if(b[i][j]!=0&&b[i][j]!=a[j]){

wrong=1;

break;

}

if(b[i][j]==a[j]){

right++;

}

}

if(wrong==0&&right>0){//没有一个人猜错、并且至少有一个人猜对了

printf("Da Jiang!!!\n");

}

else{//所有人都不猜,或者只要有一个人猜错了

printf("Ai Ya\n");

}

}

return 0;

}

注意:一定要看清楚行列所对应的是n还是k!!!