結果

問題 No.154 市バス
コンテスト
ユーザー mayoko_
提出日時 2015-04-09 18:30:27
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 1,301 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,408 ms
コンパイル使用メモリ 176,052 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-30 15:51:36
合計ジャッジ時間 1,659 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 1
other AC * 7 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <bits/stdc++.h>

#define rep(i, n) for (int (i) = 0; (i) < (int)(n); (i)++)

const int dx[] = {1, 0, -1, 0};
const int dy[] = {0, 1, 0, -1};
using namespace std;
typedef long long ll;

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    int T;
    cin >> T;
    while (T--) {
        string s;
        cin >> s;
        int n = s.size();
        int g = 0, w = 0, r = 0;
        int cnt = 0;
        bool ng = false;
        bool after = false;
        for (int i = 0; i < n; i++) {
            switch (s[i]) {
                case 'W':
                    w++;
                    after = true;
                    break;
                case 'G':
                    g++;
                    if (w < g) {
                        ng = true;
                    }
                    break;
                case 'R':
                    r++;
                    if (g < r) {
                        ng = true;
                    } else if (r == g) {
                        after = false;
                    }
                    cnt++;
                    break;
            }
            if (ng) break;
        }
        if (g != r || cnt == 0 || after) ng = true;
        if (ng) cout << "impossible" << endl;
        else cout << "possible" << endl;
    }
    return 0;
}
0