學(xué)網(wǎng)站開發(fā)要多少錢微信公眾號(hào)推廣2元一個(gè)
寶寶們?cè)谝黄鹜嬉粋€(gè)猜帽子游戲。每人頭上被扣了一頂帽子,有的是黑色的,有的是黃色的。每個(gè)人可以看到別人頭上的帽子,但是看不到自己的。游戲開始后,每個(gè)人可以猜自己頭上的帽子是什么顏色,或者可以棄權(quán)不猜。如果沒有一個(gè)人猜錯(cuò)、并且至少有一個(gè)人猜對(duì)了,那么所有的寶寶共同獲得一個(gè)大獎(jiǎng)。如果所有人都不猜,或者只要有一個(gè)人猜錯(cuò)了,所有寶寶就都沒有獎(jiǎng)。
下面順序給出一排帽子的顏色,假設(shè)每一群寶寶來(lái)玩的時(shí)候,都是按照這個(gè)順序發(fā)帽子的。然后給出每一群寶寶們猜的結(jié)果,請(qǐng)你判斷他們能不能得大獎(jiǎng)。
輸入格式:
輸入首先在一行中給出一個(gè)正整數(shù) N(2<N≤100),是帽子的個(gè)數(shù)。第二行給出 N 頂帽子的顏色,數(shù)字 1 表示黑色,2 表示黃色。
再下面給出一個(gè)正整數(shù) K(≤10),隨后 K 行,每行給出一群寶寶們猜的結(jié)果,除了仍然用數(shù)字 1 表示黑色、2 表示黃色之外,0 表示這個(gè)寶寶棄權(quán)不猜。
同一行中的數(shù)字用空格分隔。
輸出格式:
對(duì)于每一群玩游戲的寶寶,如果他們能獲得大獎(jiǎng),就在一行中輸出 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
解題思路
- 讀取輸入:首先,我們需要從輸入中獲取帽子的數(shù)量、顏色以及寶寶們的猜測(cè)。
- 邏輯判斷:根據(jù)游戲規(guī)則,如果沒有人猜錯(cuò)且至少有一個(gè)人猜對(duì),寶寶們就能獲得獎(jiǎng)勵(lì)。這意味著我們需要比較每個(gè)寶寶的猜測(cè)與實(shí)際顏色,并應(yīng)用游戲規(guī)則。
- 輸出結(jié)果:根據(jù)寶寶們的猜測(cè)是否符合獲獎(jiǎng)條件,輸出相應(yīng)的結(jié)果。
解題過程中遇到的問題
代碼
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 讀取帽子數(shù)量int N = scanner.nextInt();int[] hats = new int[N];// 讀取帽子顏色for (int i = 0; i < N; i++) {hats[i] = scanner.nextInt();}// 讀取寶寶組數(shù)int K = scanner.nextInt();for (int i = 0; i < K; i++) {int[] guesses = new int[N];boolean guessed = false;boolean correct = true;// 讀取每個(gè)寶寶的猜測(cè)for (int j = 0; j < N; j++) {guesses[j] = scanner.nextInt();if (guesses[j] != 0) {guessed = true;if (guesses[j] != hats[j]) {correct = false;}}}// 判斷是否獲得大獎(jiǎng)if (guessed && correct) {System.out.println("Da Jiang!!!");} else {System.out.println("Ai Ya");}}}
}