結果
問題 |
No.154 市バス
|
ユーザー |
![]() |
提出日時 | 2018-02-04 15:05:29 |
言語 | PHP (843.2) |
結果 |
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 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 7 TLE * 1 |
コンパイルメッセージ
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"; } }