結果
| 問題 | No.832 麻雀修行中 |
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2026-02-03 04:51:24 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 47 ms / 2,000 ms |
| コード長 | 1,114 bytes |
| 記録 | |
| コンパイル時間 | 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 |
ソースコード
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)))
titia