結果
| 問題 | No.154 市バス |
| コンテスト | |
| ユーザー |
mizzsig
|
| 提出日時 | 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";
}
}
mizzsig