結果

問題 No.832 麻雀修行中
コンテスト
ユーザー titia
提出日時 2026-02-03 04:51:24
言語 PyPy3
(7.3.17)
結果
AC  
実行時間 47 ms / 2,000 ms
コード長 1,114 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 376 ms
コンパイル使用メモリ 83,004 KB
実行使用メモリ 54,496 KB
最終ジャッジ日時 2026-02-03 04:51:28
合計ジャッジ時間 3,365 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 6
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys
input = sys.stdin.readline

A=list(map(int,list(input().strip())))


def pattern2(X):
    for i in range(0,14,2):
        if X[i]!=X[i+1]:
            return False
        if i+2<len(X) and X[i]==X[i+2]:
            return False

    return True

def pattern1(X):
    for i in range(0,13):
        if X[i]==X[i+1]:
            Y=X[:i]+X[i+2:]

            if calc(Y)==True:
                return True

    return False

def calc(X):
    if X==[]:
        return True

    x=X[0]

    if X.count(x)>=3:
        Y=X[:]

        for i in range(3):
            ind=Y.index(x)
            Y.pop(ind)

        if calc(Y)==True:
            return True

    if x+1 in X and x+2 in X:
        Y=X[:]
        for i in [x,x+1,x+2]:
            ind=Y.index(i)
            Y.pop(ind)
        if calc(Y)==True:
            return True

    return False
        

A.sort()

ANS=[]
for i in range(1,10):
    if A.count(i)==4:
        continue

    B=A+[i]
    B.sort()

    if pattern2(B)==True:
        ANS.append(i)
        continue

    if pattern1(B)==True:
        ANS.append(i)

print("\n".join(map(str,ANS)))

0