結果
問題 | No.48 ロボットの操縦 |
ユーザー | tsunabit |
提出日時 | 2018-04-08 23:36:59 |
言語 | Java21 (openjdk 21) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,702 bytes |
コンパイル時間 | 3,234 ms |
コンパイル使用メモリ | 72,248 KB |
実行使用メモリ | 56,564 KB |
最終ジャッジ日時 | 2023-09-09 03:18:11 |
合計ジャッジ時間 | 9,072 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge11 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 120 ms
56,036 KB |
testcase_01 | AC | 119 ms
54,568 KB |
testcase_02 | WA | - |
testcase_03 | AC | 1,629 ms
56,332 KB |
testcase_04 | AC | 121 ms
56,324 KB |
testcase_05 | WA | - |
testcase_06 | AC | 121 ms
55,964 KB |
testcase_07 | AC | 124 ms
56,124 KB |
testcase_08 | AC | 123 ms
56,204 KB |
testcase_09 | AC | 120 ms
56,056 KB |
testcase_10 | AC | 118 ms
56,472 KB |
testcase_11 | AC | 119 ms
56,116 KB |
testcase_12 | AC | 126 ms
56,140 KB |
testcase_13 | AC | 120 ms
56,068 KB |
testcase_14 | AC | 121 ms
56,112 KB |
testcase_15 | AC | 125 ms
56,328 KB |
testcase_16 | AC | 119 ms
56,036 KB |
testcase_17 | AC | 124 ms
55,816 KB |
testcase_18 | AC | 122 ms
55,756 KB |
testcase_19 | AC | 123 ms
56,116 KB |
testcase_20 | AC | 122 ms
56,036 KB |
testcase_21 | AC | 122 ms
56,292 KB |
testcase_22 | AC | 119 ms
55,756 KB |
testcase_23 | AC | 120 ms
56,320 KB |
testcase_24 | AC | 120 ms
56,564 KB |
ソースコード
import java.util.Scanner; // これ問題文が説明不足じゃね // 問題文 // 太郎君はロボットを遠隔で操縦している。 // このロボットは現在(0,0)の座標に立っていて北の方向を向いている。 // 太郎君はいまこのロボットを(X,Y)の座標に移動させたいと思っている。 // ロボットに出来る命令は、1回につき以下のうちいずれかの命令を選んで指示することができる。 // ・時計回りに、90∘ その場で向き(進行方向)を変える。 // ・反時計回りに、90∘ その場で向き(進行方向)を変える。 // ・向いている方向に K距離だけ前進する。Kは、(1≤K≤L) の範囲で、命令のたびに指定することができる。 // *** // 入力 // X // Y // L // 1行目に、移動先の東西軸座標を表す整数 X (−109≤X≤109) が与えられる。正の方向を東とする。 // 2行目に、移動先の南北軸座標を表す整数 Y (−109≤Y≤109) が与えられる。正の方向を北とする。 // 3行目に、ロボットが1命令につき前進することができる最大の距離を表す整数 L (1≤L≤109) が与えられる。 // *** // 出力 // ロボットが移動先に到達するまでに必要な最小の命令回数を出力してください。 // 最後に改行してください。 public class No48 { public static void main(String[] args) { // 標準入力から読み込む際に、Scannerオブジェクトを使う。 Scanner sc = new Scanner(System.in); int X = sc.nextInt(); int Y = sc.nextInt(); int L = sc.nextInt(); int count = 0; int temp = 0; // Yの移動 temp = Math.abs(Y); while(temp > L) { temp -= L; count++; // System.out.println("Y"); } if(temp > 0) { count++; // System.out.println("YY"); } // Xの移動 temp = Math.abs(X); while(temp > L) { temp -= L; count++; // System.out.println("X"); } if(temp > 0) { count++; // System.out.println("XX"); } // 座標の位置による方向転換の回数 if(X == 0 && Y > 0) { // Nothing }else if(X == 0 && Y < 0) { count += 3; // System.out.println("Z"); }else if(X != 0 && Y < 0) { count += 2; // System.out.println("ZZ"); }else { count += 1; // System.out.println("ZZZ"); } System.out.println(count); } }