問題文
整数 と オラクル が入力として与えられる。 オラクル は と を満たす任意の整数の組 に対して、次式を満たす。
ただし、 は排他的論理和を表し、関数 は 以上 未満の整数 に対して、 または のどちらかを返す。
を満たす任意の整数 に対して
を満たす操作を量子回路 上に実装せよ。
制約
from qiskit import QuantumCircuit, QuantumRegister
"""
You can apply oracle as follows:
qc.compose(o, inplace=True)
"""
def solve(n: int, o: QuantumCircuit) -> QuantumCircuit:
x, y = QuantumRegister(n), QuantumRegister(1)
qc = QuantumCircuit(x, y)
# Write your code here:
return qc
入力例
- : 実装された量子回路 は次式を満たす。