結果
問題 | No.154 市バス |
ユーザー | mizzsig |
提出日時 | 2018-02-04 15:05:29 |
言語 | PHP (8.3.4) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,788 bytes |
コンパイル時間 | 288 ms |
コンパイル使用メモリ | 30,732 KB |
実行使用メモリ | 31,100 KB |
最終ジャッジ日時 | 2024-10-13 09:20:34 |
合計ジャッジ時間 | 8,782 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 972 ms
30,672 KB |
testcase_01 | AC | 976 ms
30,904 KB |
testcase_02 | AC | 979 ms
31,100 KB |
testcase_03 | AC | 827 ms
30,760 KB |
testcase_04 | AC | 946 ms
31,008 KB |
testcase_05 | AC | 38 ms
30,996 KB |
testcase_06 | AC | 37 ms
30,656 KB |
testcase_07 | TLE | - |
testcase_08 | AC | 39 ms
31,060 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"; } }