結果
問題 |
No.3211 NAND Oracle
|
ユーザー |
|
提出日時 | 2025-07-21 14:09:17 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 116 ms / 2,000 ms |
コード長 | 812 bytes |
コンパイル時間 | 349 ms |
コンパイル使用メモリ | 82,300 KB |
実行使用メモリ | 80,756 KB |
最終ジャッジ日時 | 2025-07-21 14:09:23 |
合計ジャッジ時間 | 6,314 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
q, k = map(int, input().split()) def dfs(a, op): if len(op) >= q: return op l = len(a[0]) for i in range(l): for j in range(i+1, l): na = [] for t in range(4): nat = a[t] + [1 ^ (a[t][i] & a[t][j])] if sum(nat) > k: break na.append(nat) else: nop = op + [(i+1, j+1)] res = dfs(na, nop) if res: return res return None op = [(1,2), (1,2), (3,4), (4,5), (4,5)] + [(6,7)] * (1 << 18) if k >= 5: print("Yes") for i in range(q): print(*op[i]) else: op = dfs([[0,0],[0,1],[1,0],[1,1]], []) if op == None: print("No") else: print("Yes") for i, j in op: print(i, j)