結果
問題 | No.513 宝探し2 |
ユーザー | uafr_cs |
提出日時 | 2017-05-05 23:19:25 |
言語 | Java21 (openjdk 21) |
結果 |
RE
|
実行時間 | - |
コード長 | 2,643 bytes |
コンパイル時間 | 3,463 ms |
コンパイル使用メモリ | 88,024 KB |
実行使用メモリ | 72,532 KB |
平均クエリ数 | 74.42 |
最終ジャッジ日時 | 2024-07-16 13:25:09 |
合計ジャッジ時間 | 5,762 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 162 ms
58,692 KB |
testcase_01 | AC | 179 ms
58,612 KB |
testcase_02 | RE | - |
testcase_03 | AC | 196 ms
58,752 KB |
testcase_04 | RE | - |
testcase_05 | AC | 186 ms
59,028 KB |
testcase_06 | RE | - |
testcase_07 | RE | - |
testcase_08 | AC | 152 ms
59,240 KB |
testcase_09 | AC | 189 ms
71,532 KB |
testcase_10 | RE | - |
testcase_11 | AC | 192 ms
71,232 KB |
ソースコード
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; min_dist = next_plus_dist; }else{ y = next_minus_y; add = -2; min_dist = next_minus_dist; } }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; min_dist = next_dist; }else{ add = 1; } } } } } }