結果

問題 No.3323 岩井星式ジャンケン
コンテスト
ユーザー 回転
提出日時 2025-11-01 15:11:27
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 135 ms / 2,000 ms
コード長 885 bytes
コンパイル時間 369 ms
コンパイル使用メモリ 82,368 KB
実行使用メモリ 86,312 KB
最終ジャッジ日時 2025-11-01 15:11:31
合計ジャッジ時間 3,952 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M = list(map(int,input().split()))
S = [input() for _ in range(N)]

d = {"G":"P", "P":"C", "C":"G"}

win = set()
ans = []
for i in range(M):
    a = set()
    for j in range(N):
        if(j in win):continue
        a.add(S[j][i])
    
    if(len(a) == 1):
        for j in range(N):
            win.add(j)
        ans.append(d[a.pop()])
    elif(len(a) == 3):
        print(-1)
        exit()
    elif(a == set(["G","P"])):
        for j in range(N):
            if(S[j][i] == "G"):win.add(j)
        ans.append("P")
    elif(a == set(["P","C"])):
        for j in range(N):
            if(S[j][i] == "P"):win.add(j)
        ans.append("C")
    elif(a == set(["C","G"])):
        for j in range(N):
            if(S[j][i] == "C"):win.add(j)
        ans.append("G")
    elif(not a):
        ans.append("G")
    else:
        assert False

print("".join(ans) if len(win) == N else -1)
0