結果
問題 | No.154 市バス |
ユーザー | mizzsig |
提出日時 | 2018-02-04 15:05:29 |
言語 | PHP (8.3.4) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,788 bytes |
コンパイル時間 | 195 ms |
コンパイル使用メモリ | 30,940 KB |
実行使用メモリ | 31,540 KB |
最終ジャッジ日時 | 2024-04-21 10:31:53 |
合計ジャッジ時間 | 8,605 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 983 ms
31,228 KB |
testcase_01 | AC | 986 ms
31,232 KB |
testcase_02 | AC | 985 ms
31,392 KB |
testcase_03 | AC | 825 ms
31,096 KB |
testcase_04 | AC | 932 ms
31,408 KB |
testcase_05 | AC | 37 ms
31,540 KB |
testcase_06 | AC | 39 ms
31,512 KB |
testcase_07 | TLE | - |
testcase_08 | AC | 39 ms
31,128 KB |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php $n = trim(fgets(STDIN)); for ($i = 0; $i < $n; $i++) { $str = trim(fgets(STDIN)); $length = strlen($str); $isPossible = true; $sum['W'] = 0; $sum['G'] = 0; // 各バスの状態を保存する $bus = []; // それぞれのテストケースを確認 for ($l = 0; $l < $length; $l++) { switch ($str[$l]) { case 'W': $sum['W']++; $busFlag = true; foreach ($bus as $value) { if ($value == 'W') { $busFlag = false; break; } } // 既存のバスがない or 色が変わっているので新たに追加 if ($busFlag) $bus[] = 'W'; break; case 'G': $sum['G']++; $busFlag = false; foreach ($bus as $key => $value) { if ($value == 'W') { $busFlag = true; $bus[$key] = 'G'; break; } } if (!$busFlag) { if ($sum['W'] >= $sum['G']) { $bus[] = 'G'; } else { $isPossible = false; } } break; case 'R': $busFlag = false; foreach ($bus as $key => $value) { if ($value == 'G') { $busFlag = true; $bus[$key] = 'R'; break; } } if (!$busFlag) { $isPossible = false; } break; } if (!$isPossible) { break; } } foreach ($bus as $value) { if ($value != 'R') { $isPossible = false; break; } } if ($isPossible) { echo 'possible' . "\n"; } else { echo 'impossible' . "\n"; } }