結果

問題 No.3323 岩井星式ジャンケン
コンテスト
ユーザー miya145592
提出日時 2025-11-01 15:24:48
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,179 bytes
コンパイル時間 439 ms
コンパイル使用メモリ 82,788 KB
実行使用メモリ 78,264 KB
最終ジャッジ日時 2025-11-01 15:24:52
合計ジャッジ時間 2,933 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline
N, M = map(int, input().split())
S = [input().strip() for _ in range(N)]
ans = []
S = set(S)
janken = ["G", "C", "P"]
jan = {"G": 0, "C": 1, "P": 2}
for i in range(M):
    tmp = set()
    G = set()
    C = set()
    P = set()
    if len(S)==0:
        break
    for j in S:
        tmp.add(j[i])
        if j[i]=="G":
            G.add(j)
        elif j[i]=="C":
            C.add(j)
        else:
            P.add(j)
    tmp = list(tmp)
    if len(tmp)==1:
        t = tmp[0]
        a = janken[(jan[t]-1)%3]
        ans.append(a)
        b = janken[(jan[a]+1)%3]
    elif len(tmp)==2:
        t0, t1 = jan[tmp[0]], jan[tmp[1]]
        if (t0-1)%3==t1:
            a = janken[t1]
            ans.append(a)
            b = janken[(jan[a]+1)%3]
        elif (t1-1)%3==t0:
            a = janken[t0]
            ans.append(a)
            b = janken[(jan[a]+1)%3]
    else:
        print(-1)
        exit()

    if b=="G":
        for g in G:
            S.discard(g)
    elif b=="C":
        for c in C:
            S.discard(c)
    else:
        for p in P:
            S.discard(p)

while len(ans)<M:
    ans.append("G")
print("".join(ans))
0