結果
問題 | No.104 国道 |
ユーザー |
|
提出日時 | 2018-04-29 23:21:07 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 132 ms / 5,000 ms |
コード長 | 2,480 bytes |
コンパイル時間 | 3,438 ms |
コンパイル使用メモリ | 74,884 KB |
実行使用メモリ | 41,424 KB |
最終ジャッジ日時 | 2024-06-27 23:43:34 |
合計ジャッジ時間 | 6,665 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 |
ソースコード
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); // } } }