結果

問題 No.3323 岩井星式ジャンケン
コンテスト
ユーザー 北杜
提出日時 2025-11-01 15:10:21
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,351 bytes
コンパイル時間 2,856 ms
コンパイル使用メモリ 281,504 KB
実行使用メモリ 7,720 KB
最終ジャッジ日時 2025-11-01 15:10:26
合計ジャッジ時間 4,670 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

// やけくそTLE解.

//#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
#define all(a) (a).begin(), (a).end()
const ll INF32 = 2e9;
const ll INF64 = 4e18;

void printYN(bool ok){
    if(ok)cout << "Yes" << endl;
    else cout << "No" << endl;
    return;
}

signed main() {
    int N, M;
    cin >> N >> M;
    vector<string> S(N);
    vector<bool> won(N, false);
    string ans = "";
    rep(i, N)cin >> S[i];
    rep(i, M){
        bool G = false,C = false, P = false;
        rep(j, N){
            if(won[j])continue;
            if(S[j][i]=='G')G = true;
            if(S[j][i]=='C')C = true;
            if(S[j][i]=='P')P = true;
        }
        if(G&&C&&P){
            cout << -1 << endl;
            return 0;
        }
        if(C&&(!P)){
            ans.push_back('G');
            rep(j, N){
                if(S[j][i]=='C')won[j]=true;
            }
        }
        else if(P&&(!G)){
            ans.push_back('C');
            rep(j, N){
                if(S[j][i]=='P')won[j]=true;
            }
        }
        else if(G&&(!C)){
            ans.push_back('P');
            rep(j, N){
                if(S[j][i]=='G')won[j]=true;
            }
        }
        else ans.push_back('G');
    }
    cout << ans << endl;
    return 0;
}
0