結果

問題 No.104 国道
ユーザー tsunabittsunabit
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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);
        // }
    }
}
0