邢台企业网站建设咨询,图书馆网站设计方案,在线设计广告,做男鞋的网站好宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子#xff0c;有的是黑色的#xff0c;有的是黄色的。每个人可以看到别人头上的帽子#xff0c;但是看不到自己的。游戏开始后#xff0c;每个人可以猜自己头上的帽子是什么颜色#xff0c;或者可以弃权不猜。如果没有… 宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子有的是黑色的有的是黄色的。每个人可以看到别人头上的帽子但是看不到自己的。游戏开始后每个人可以猜自己头上的帽子是什么颜色或者可以弃权不猜。如果没有一个人猜错、并且至少有一个人猜对了那么所有的宝宝共同获得一个大奖。如果所有人都不猜或者只要有一个人猜错了所有宝宝就都没有奖。 下面顺序给出一排帽子的颜色假设每一群宝宝来玩的时候都是按照这个顺序发帽子的。然后给出每一群宝宝们猜的结果请你判断他们能不能得大奖。
输入格式
输入首先在一行中给出一个正整数 N2N≤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
解题思路
读取输入首先我们需要从输入中获取帽子的数量、颜色以及宝宝们的猜测。逻辑判断根据游戏规则如果没有人猜错且至少有一个人猜对宝宝们就能获得奖励。这意味着我们需要比较每个宝宝的猜测与实际颜色并应用游戏规则。输出结果根据宝宝们的猜测是否符合获奖条件输出相应的结果。
解题过程中遇到的问题 代码
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);// 读取帽子数量int N scanner.nextInt();int[] hats new int[N];// 读取帽子颜色for (int i 0; i N; i) {hats[i] scanner.nextInt();}// 读取宝宝组数int K scanner.nextInt();for (int i 0; i K; i) {int[] guesses new int[N];boolean guessed false;boolean correct true;// 读取每个宝宝的猜测for (int j 0; j N; j) {guesses[j] scanner.nextInt();if (guesses[j] ! 0) {guessed true;if (guesses[j] ! hats[j]) {correct false;}}}// 判断是否获得大奖if (guessed correct) {System.out.println(Da Jiang!!!);} else {System.out.println(Ai Ya);}}}
}