問題文 次式により定義される オラクル OOO を 222 量子ビット x, yx,\ yx, y をもつ量子回路 qc\mathrm{qc}qc 上に実装せよ。 ∣x⟩∣y⟩→O∣x⟩∣y⊕x⟩\ket{x}\ket{y} \xrightarrow{O} \ket{x}\ket{y \oplus x}∣x⟩∣y⟩O∣x⟩∣y⊕x⟩ ただし、⊕\oplus⊕ は 排他的論理和 を表す。 制約 グローバル位相 は問わない。 提出されるコードは次のフォーマットにしたがうこと from qiskit import QuantumCircuit, QuantumRegister def solve() -> QuantumCircuit: x, y = QuantumRegister(1), QuantumRegister(1) qc = QuantumCircuit(x, y) # Write your code here: return qc 入力例 ∣x⟩∣y⟩=12(∣00⟩+∣10⟩)\ket{x}\ket{y} = \frac{1}{\sqrt{2}} (\ket{00} + \ket{10})∣x⟩∣y⟩=21(∣00⟩+∣10⟩): 実装されたオラクル OOO は次式の遷移を満たす。 ∣x⟩∣y⟩=12(∣00⟩+∣10⟩)→O12(∣00⟩+∣11⟩)\ket{x}\ket{y} = \frac{1}{\sqrt{2}} (\ket{00} + \ket{10}) \xrightarrow{O} \frac{1}{\sqrt{2}} (\ket{00} + \ket{11})∣x⟩∣y⟩=21(∣00⟩+∣10⟩)O21(∣00⟩+∣11⟩) ヒント 開く 次のようにして、量子ビット xxx に何らかの量子ゲート ggg を作用させることができます。 qc.g(x)