結果
問題 | No.104 国道 |
ユーザー | tsunabit |
提出日時 | 2018-04-29 23:21:07 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 120 ms / 5,000 ms |
コード長 | 2,480 bytes |
コンパイル時間 | 4,919 ms |
コンパイル使用メモリ | 73,092 KB |
実行使用メモリ | 56,424 KB |
最終ジャッジ日時 | 2023-09-10 08:14:11 |
合計ジャッジ時間 | 6,927 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge12 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 117 ms
56,232 KB |
testcase_01 | AC | 117 ms
55,556 KB |
testcase_02 | AC | 118 ms
56,168 KB |
testcase_03 | AC | 119 ms
56,348 KB |
testcase_04 | AC | 117 ms
56,424 KB |
testcase_05 | AC | 119 ms
56,036 KB |
testcase_06 | AC | 118 ms
55,896 KB |
testcase_07 | AC | 119 ms
55,952 KB |
testcase_08 | AC | 118 ms
55,788 KB |
testcase_09 | AC | 120 ms
56,160 KB |
testcase_10 | AC | 117 ms
56,064 KB |
testcase_11 | AC | 119 ms
56,300 KB |
testcase_12 | AC | 116 ms
56,172 KB |
testcase_13 | AC | 117 ms
56,016 KB |
testcase_14 | AC | 119 ms
56,180 KB |
testcase_15 | AC | 117 ms
56,160 KB |
testcase_16 | AC | 119 ms
55,912 KB |
testcase_17 | AC | 117 ms
56,204 KB |
testcase_18 | AC | 119 ms
56,232 KB |
testcase_19 | AC | 118 ms
56,084 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); String[] s = sc.nextLine().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); // } } }