結果
問題 |
No.355 数当てゲーム(2)
|
ユーザー |
![]() |
提出日時 | 2016-06-08 08:30:39 |
言語 | Java (openjdk 23) |
結果 |
RE
|
実行時間 | - |
コード長 | 2,267 bytes |
コンパイル時間 | 3,934 ms |
コンパイル使用メモリ | 79,844 KB |
実行使用メモリ | 72,312 KB |
平均クエリ数 | 17.27 |
最終ジャッジ日時 | 2024-07-16 10:19:27 |
合計ジャッジ時間 | 19,665 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 39 RE * 13 |
ソースコード
import java.util.*; public class Exercise67{ public static void main (String[] args){ Scanner sc = new Scanner(System.in); int[] q = {1, 4, 9, 6}; ArrayList<Integer> confirm = new ArrayList<Integer>(); confirm.add(0); confirm.add(1); confirm.add(2); confirm.add(3); whole: while(true){ System.out.println(q[0] + " " + q[1] + " " + q[2] + " " + q[3]); System.out.flush(); int p = sc.nextInt(); int h = sc.nextInt(); if (p == 4){ break whole; }else if (p + h == 4){ q[confirm.get(confirm.size() - 1)] = changeNum(q[confirm.get(confirm.size() - 1)], q); } for (int i = 0; i < 4; i++){ eachNum: for (int j = 0; j < 10; j++){ if (checkMN(plus(q[i]), q)){ q[i] = plus(q[i]); continue; }else{ q[i] = plus(q[i]); System.out.println(q[0] + " " + q[1] + " " + q[2] + " " + q[3]); System.out.flush(); int pd = sc.nextInt(); int hd = sc.nextInt(); if (pd == 4){ break whole; }else if(p + 1 == pd){ p = pd; confirm.remove(confirm.indexOf(i)); break eachNum; }else if(p - 1 == pd){ if (q[i] > 0){ q[i]--; confirm.remove(confirm.indexOf(i)); break eachNum; }else{ q[i] = 9; confirm.remove(confirm.indexOf(i)); break eachNum; } }else if (pd + hd == 4){ q[confirm.get(confirm.size() - 1)] = changeNum(q[confirm.get(confirm.size() - 1)], q); } } } } } } private static boolean checkMN(int num, int[] array){ boolean flag = false; for (int i = 0; i < 4; i++){ if (num == array[i]){ flag = true; } } return flag; } private static int plus(int num){ if (num < 9){ num++; }else{ num = 0; } return num; } private static int changeNum(int num, int[] array){ if (checkMN(num, array)){ num = plus(num); return changeNum(num, array); }else{ return num; } } }