結果
問題 | No.513 宝探し2 |
ユーザー | uafr_cs |
提出日時 | 2017-05-05 23:18:50 |
言語 | Java21 (openjdk 21) |
結果 |
RE
|
実行時間 | - |
コード長 | 2,548 bytes |
コンパイル時間 | 4,193 ms |
コンパイル使用メモリ | 90,584 KB |
実行使用メモリ | 72,172 KB |
平均クエリ数 | 78.17 |
最終ジャッジ日時 | 2024-07-16 13:24:56 |
合計ジャッジ時間 | 8,324 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 160 ms
58,856 KB |
testcase_01 | RE | - |
testcase_02 | RE | - |
testcase_03 | AC | 194 ms
59,020 KB |
testcase_04 | RE | - |
testcase_05 | AC | 186 ms
58,700 KB |
testcase_06 | RE | - |
testcase_07 | RE | - |
testcase_08 | AC | 148 ms
58,704 KB |
testcase_09 | AC | 190 ms
59,464 KB |
testcase_10 | RE | - |
testcase_11 | RE | - |
ソースコード
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.PriorityQueue; import java.util.Scanner; public class Main { public static int RANGE = 100; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int y = 0, x = 0; System.out.println(x + " " + y); int min_dist = sc.nextInt(); if(min_dist == 0){ return; } { int add = 1; while(true){ if(add == 1){ final int next_plus_x = x + add; final int next_minus_x = x - add; final int next_y = y; System.out.println(next_plus_x + " " + next_y); final int next_plus_dist = sc.nextInt(); if(next_plus_dist == 0){ return; } System.out.println(next_minus_x + " " + next_y); final int next_minus_dist = sc.nextInt(); if(next_minus_dist == 0){ return; } if(min_dist < Math.min(next_plus_dist, next_minus_dist)){ break; } if(next_plus_dist < next_minus_dist){ x = next_plus_x; add = 2; min_dist = next_plus_dist; }else{ x = next_minus_x; add = -2; min_dist = next_minus_dist; } }else{ final int next_x = x + add; final int next_y = y; System.out.println(next_x + " " + next_y); final int next_dist = sc.nextInt(); if(next_dist == 0){ return; } if(next_dist < min_dist){ x = next_x; add *= 2; min_dist = next_dist; }else{ add = 1; } } } } { int add = 1; while(true){ if(add == 1){ final int next_x = x; final int next_plus_y = y + add; final int next_minus_y = y - add; System.out.println(next_x + " " + next_plus_y); final int next_plus_dist = sc.nextInt(); if(next_plus_dist == 0){ return; } System.out.println(next_x + " " + next_minus_y); final int next_minus_dist = sc.nextInt(); if(next_minus_dist == 0){ return; } if(min_dist < Math.min(next_plus_dist, next_minus_dist)){ break; } if(next_plus_dist < next_minus_dist){ y = next_plus_y; add = 2; }else{ y = next_minus_y; add = -2; } }else{ final int next_x = x; final int next_y = y + add; System.out.println(next_x + " " + next_y); final int next_dist = sc.nextInt(); if(next_dist == 0){ return; } if(next_dist < min_dist){ y = next_y; add *= 2; }else{ add = 1; } } } } } }