結果
| 問題 |
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)