結果
| 問題 |
No.355 数当てゲーム(2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-04-01 22:28:33 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 223 ms / 2,000 ms |
| コード長 | 1,630 bytes |
| コンパイル時間 | 5,249 ms |
| コンパイル使用メモリ | 87,904 KB |
| 実行使用メモリ | 72,440 KB |
| 平均クエリ数 | 25.67 |
| 最終ジャッジ日時 | 2024-07-16 08:51:35 |
| 合計ジャッジ時間 | 17,758 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 52 |
ソースコード
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Q701 {
static Scanner in;
static PrintWriter out;
static String INPUT = "";
static void solve()
{
Random gen = new Random();
int[] none = null;
int nno = 0;
outer:
while(true){
int[] a = new int[4];
for(int i = 0;i < 4;i++)a[i] = gen.nextInt(10);
for(int i = 0;i < 4;i++){
for(int j= i+1;j < 4;j++){
if(a[i] == a[j])continue outer;
}
}
out.println(a[0] + " " + a[1] + " " + a[2] + " " + a[3]);
out.flush();
int x = ni(), y = ni();
if(x + y == 0){
none = a;
for(int i = 0;i < 4;i++){
nno |= 1<<a[i];
}
break;
}
}
int[] ret = new int[4];
for(int i = 0;i < 4;i++){
for(int j = 0;j < 10;j++){
if(nno<<~j<0)continue;
int[] b = Arrays.copyOf(none, 4);
b[i] = j;
out.println(b[0] + " " + b[1] + " " + b[2] + " " + b[3]);
out.flush();
int x = ni(), y = ni();
if(x == 1){
ret[i] = j;
nno |= 1<<j;
break;
}
}
}
out.println(ret[0] + " " + ret[1] + " " + ret[2] + " " + ret[3]);
out.flush();
}
public static void main(String[] args) throws Exception
{
in = INPUT.isEmpty() ? new Scanner(System.in) : new Scanner(INPUT);
out = new PrintWriter(System.out);
solve();
out.flush();
}
static int ni() { return Integer.parseInt(in.next()); }
static long nl() { return Long.parseLong(in.next()); }
static double nd() { return Double.parseDouble(in.next()); }
static void tr(Object... o) { if(INPUT.length() != 0)System.out.println(Arrays.deepToString(o)); }
}