結果
問題 |
No.154 市バス
|
ユーザー |
![]() |
提出日時 | 2018-03-14 17:42:56 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,058 bytes |
コンパイル時間 | 1,330 ms |
コンパイル使用メモリ | 160,632 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-11-28 03:11:49 |
合計ジャッジ時間 | 2,534 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 1 |
other | AC * 7 WA * 1 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int t; cin >> t; vector<string> s(t); for (int i = 0;i < t;i++) { cin >> s[i]; } for (int i = 0;i < t;i++) { int w=0,g = 0, r = 0; bool b = true; for (int j = 0;j < s[i].size();j++) { switch (s[i][j]) { case 'W': w++; break; case 'G': g++; break; case 'R': r++; break; } if (w < g||g<r||w<r) { b = false; break; } } if (g != r) { b = false; } if (g == 0 && w > 0) { b = false; } for (int j = 0;j < s[i].size();j++) { if (s[i][j] == 'G') { g--; int numw = 0; for (int k = j + 1;k < s[i].size();k++) { if (s[i][j] == 'W') { numw++; } } if (g < numw) { b = false; break; } } if (s[i][j] == 'R') { r--; int numw = 0; for (int k = j + 1;k < s[i].size();k++) { if (s[i][j] == 'W') { numw++; } } if (r < numw) { b = false; break; } } } cout << (b ? "possible" : "impossible") << endl; } return 0; }