結果
問題 | No.104 国道 |
ユーザー | tsunabit |
提出日時 | 2018-04-29 23:17:55 |
言語 | Java21 (openjdk 21) |
結果 |
RE
|
実行時間 | - |
コード長 | 2,427 bytes |
コンパイル時間 | 3,583 ms |
コンパイル使用メモリ | 77,732 KB |
実行使用メモリ | 41,516 KB |
最終ジャッジ日時 | 2024-06-27 23:43:10 |
合計ジャッジ時間 | 6,804 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 126 ms
41,116 KB |
testcase_01 | AC | 126 ms
41,272 KB |
testcase_02 | AC | 129 ms
41,252 KB |
testcase_03 | RE | - |
testcase_04 | AC | 129 ms
41,108 KB |
testcase_05 | AC | 128 ms
41,144 KB |
testcase_06 | AC | 128 ms
41,392 KB |
testcase_07 | AC | 129 ms
41,296 KB |
testcase_08 | AC | 128 ms
41,344 KB |
testcase_09 | AC | 126 ms
41,412 KB |
testcase_10 | AC | 112 ms
39,828 KB |
testcase_11 | AC | 132 ms
41,516 KB |
testcase_12 | AC | 128 ms
41,340 KB |
testcase_13 | AC | 128 ms
41,260 KB |
testcase_14 | AC | 128 ms
41,020 KB |
testcase_15 | AC | 128 ms
41,432 KB |
testcase_16 | AC | 115 ms
40,184 KB |
testcase_17 | AC | 128 ms
41,416 KB |
testcase_18 | AC | 126 ms
40,908 KB |
testcase_19 | AC | 129 ms
41,276 KB |
ソースコード
import java.util.Scanner; // ***問題文*** // ユキコダ国には1からはじまる番号のついた国道がある。 // 国道を判別するため同じ番号の国道は2つ以上無い。 // まずユキコダ城から国道1号線がスタートしている。 // 国道は必ずいつか左と右の道に分岐する。 // 国道はより小さな番号の国道から、使えるより小さな番号を使って分岐する。 // 分岐する際に左の国道のほうが右の国道よりかならず番号が小さい。 // 1号線は左の2号線と右の3号線に分岐する。 // 2号線は左の4号線と右の5号線に分岐する。 // 3号線は左の6号線と右の7号線に分岐する。 // 4号線は左の8号線と右の9号線に分岐する。 // 5号線は左の10号線と右の11号線に分岐する。 // このようなルールで国道には番号がついている。 // いまA君はユキコダ城を出て引き返すことなくいくつかの分岐点を通過した。 // A君は順番に左と右のどちらに分岐したかを覚えている。 // A君がいま何号線を歩いているかを答えよ。 // ***入力*** // S // 分岐の方向をあらわす文字列Sが与えられる。 // Sは文字'L'と'R'からなる0文字以上30文字以下の文字列。 // 'L'は分岐点で左に移動したことをあらわし、'R'は右に移動したことをあらわす。 // 文字列の先頭がA君の最も古い記憶で順に新しくなっていく。 // 最後にかならず改行が入っているので0文字が与えられることはない。 // ***出力*** // A君が国道何号線を歩いているかを1行で答えよ。 // 改行を忘れずに。 public class No104 { public static void main(String[] args) { // 標準入力から読み込む際に、Scannerオブジェクトを使う。 Scanner sc = new Scanner(System.in); // String s = sc.next(); String[] s = sc.next().split("" , 0); int road = 1; for(int i = 0; i < s.length; i++) { if("L".equals(s[i])) { road = road * 2; }else if("R".equals(s[i])) { road = road * 2 + 1; }else { // Nothing } } System.out.println(road); // for(String lr : s) { // System.out.println(lr); // } } }