結果
| 問題 | No.154 市バス |
| コンテスト | |
| ユーザー |
srjywrdnprkt
|
| 提出日時 | 2023-01-19 12:58:08 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,174 bytes |
| コンパイル時間 | 1,055 ms |
| コンパイル使用メモリ | 105,564 KB |
| 最終ジャッジ日時 | 2025-02-10 04:11:37 |
|
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | AC * 6 WA * 2 |
ソースコード
#include <iostream>
#include <vector>
#include <cmath>
#include <map>
#include <set>
#include <iomanip>
#include <queue>
#include <algorithm>
#include <numeric>
#include <deque>
#include <complex>
#include <cassert>
using namespace std;
int main(){
int T, g, r;
string S;
cin >> T;
while(T){
cin >> S;
g = 0; r=0;
for (int i=0; i<S.size(); i++) if (S[i] == 'R') r++;
if (S.back() != 'R'){
cout << "impossible" << '\n';
T--;
continue;
}
bool f=1;
for (int i=0; i<S.size(); i++){
if (S[i] == 'G') g++;
else if (S[i] == 'R'){
r--;
if (g == 0){
T--;
cout << "impossible" << '\n';
f = 0;
break;
}
else g--;
}
else if (S[i] == 'W' && r == 1 && g == 1){
cout << "impossible" << '\n';
f = 0;
break;
}
}
if (f) cout << (g == 0 ? "possible" : "impossible") << '\n';
T--;
}
return 0;
}
srjywrdnprkt