結果
| 問題 | 
                            No.832 麻雀修行中
                             | 
                    
| コンテスト | |
| ユーザー | 
                             vwxyz
                         | 
                    
| 提出日時 | 2024-04-07 22:12:58 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 796 bytes | 
| コンパイル時間 | 291 ms | 
| コンパイル使用メモリ | 12,800 KB | 
| 実行使用メモリ | 17,952 KB | 
| 最終ジャッジ日時 | 2024-10-01 04:47:10 | 
| 合計ジャッジ時間 | 18,939 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 5 TLE * 1 | 
| other | AC * 25 | 
ソースコード
import itertools
def check(A):
    N=len(A)
    if N==0:
        return True
    if N==3:
        A=sorted(A)
        return {b-a for a,b in zip(A,A[1:])} in ({0},{1})
    if N==14:
        for i in range(N):
            for j in range(i+1,N):
                if A[i]==A[j] and check([A[k] for k in range(N) if not k in (i,j)]):
                    return True
        A=sorted(A)
        if all(a==b for a,b in zip(A[::2],A[1::2])) and len(set(A))==7:
            return True
    else:
        for tpl in itertools.combinations(range(N),3):
            if check([A[i] for i in tpl]) and check([A[k] for k in range(N) if not k in tpl]):
                return True
    return False
S=[int(s) for s in input()]
for ans in range(1,10):
    if check(S+[ans]) and S.count(ans)<=3:
        print(ans)
            
            
            
        
            
vwxyz