結果
問題 |
No.832 麻雀修行中
|
ユーザー |
![]() |
提出日時 | 2020-02-28 14:46:22 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 226 ms / 2,000 ms |
コード長 | 962 bytes |
コンパイル時間 | 76 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 35,200 KB |
最終ジャッジ日時 | 2024-10-13 16:24:54 |
合計ジャッジ時間 | 8,071 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 25 |
ソースコード
#!/usr/bin/env python3 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines import itertools # %% S = sorted(map(int, read().rstrip().decode())) # %% triples = [] for x in range(1, 10): triples.append((x, x, x)) if x <= 7: triples.append((x, x + 1, x + 2)) # %% patterns = set((x, x) for x in range(1, 10)) for _ in range(4): newpatterns = [] for p, t in itertools.product(patterns, triples): newpatterns.append(tuple(sorted(p + t))) patterns = set(newpatterns) # %% for subset in itertools.combinations(range(1, 10), 7): p = tuple(sorted(subset + subset)) patterns.add(p) # %% def is_complete(nums): if len(nums) != 14: return False p = tuple(sorted(nums)) if any(x == y for x, y in zip(p, p[4:])): return False return p in patterns # %% for x in range(1, 10): if is_complete(S + [x]): print(x)