結果
問題 | No.24 数当てゲーム |
ユーザー | tsunabit |
提出日時 | 2018-04-22 18:12:46 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 134 ms / 5,000 ms |
コード長 | 3,099 bytes |
コンパイル時間 | 3,589 ms |
コンパイル使用メモリ | 78,788 KB |
実行使用メモリ | 54,044 KB |
最終ジャッジ日時 | 2024-06-27 05:42:30 |
合計ジャッジ時間 | 5,627 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 129 ms
53,964 KB |
testcase_01 | AC | 129 ms
53,864 KB |
testcase_02 | AC | 132 ms
53,880 KB |
testcase_03 | AC | 134 ms
53,876 KB |
testcase_04 | AC | 131 ms
53,984 KB |
testcase_05 | AC | 134 ms
53,992 KB |
testcase_06 | AC | 131 ms
54,032 KB |
testcase_07 | AC | 129 ms
53,984 KB |
testcase_08 | AC | 130 ms
54,044 KB |
testcase_09 | AC | 131 ms
53,996 KB |
ソースコード
import java.util.Scanner; import java.util.ArrayList; import java.util.HashMap; import java.util.Arrays; import java.util.Collections; // ***問題文*** // 太郎君と二郎君はゲームをしています。 // まず最初に二郎君は 0から9までの数字を1つ、心の中で思い浮かべます。 // 太郎君は、重複しないような0から9までの数字から 4つ 二郎君に提示し、 // 二郎君は心の中で思い浮かべた数字が、提示された4つの数字の中にあれば YES 、 // 無ければ NO と答えます。 // これを1ターンとし、次のターンにまた太郎君は4つの数字を提示することを繰り返します。 // 前に出した数字と同じ数字を提示しても構いません。 // 入力に太郎君が提示した数字と、二郎君の答えが与えられるので、 // 二郎君が思い浮かべたであろう数字を出力してください。 // 必ず出力する数字が1つと確定できるような入力が与えられます。 // ***入力*** // N // A1 B1 C1 D1 R1 // A2 B2 C2 D2 R2 // … // AN BN CN DN RN // 1行目に、ターン数を表すN (2≤N≤6) が与えられます。 // 続くN行に、太郎君が提示した4つの数字 Ai,Bi,Ci,Di (0≤Ai,Bi,Ci,Di≤9, 1≤i≤N) と // 二郎君の答えの文字列 Ri (YES または NO) が半角スペース区切りで与えられます。 // (Ai,Bi,Ci,Diは互いに異なる) // ***出力*** // 二郎君が思い浮かべたであろう数字を出力してください。 // 最後に改行してください。 public class No24 { public static void main(String[] args) { // 標準入力から読み込む際に、Scannerオブジェクトを使う。 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int A = 0; int B = 0; int C = 0; int D = 0; String R = ""; // hashap key value HashMap<Integer,Integer> map = new HashMap<Integer,Integer>(); // hashmapの初期化 for(int i = 0; i < 10; i++) { map.put(i, 0); } for(int i = 0; i < N; i++) { A = sc.nextInt(); B = sc.nextInt(); C = sc.nextInt(); D = sc.nextInt(); R = sc.next(); if("YES".equals(R)) { map.put(A, map.get(A) + 1); map.put(B, map.get(B) + 1); map.put(C, map.get(C) + 1); map.put(D, map.get(D) + 1); }else { map.put(A, map.get(A) - 1); map.put(B, map.get(B) - 1); map.put(C, map.get(C) - 1); map.put(D, map.get(D) - 1); } } // for(int k: map.keySet()) { // System.out.println("map" + k + " = " + map.get(k)); // } int maxk = 0; int maxv = -10; for(int k: map.keySet()) { if(map.get(k) > maxv) { maxk = k; maxv = map.get(k); } } System.out.println(maxk); } }