問題文 整数 n, Ln,\ Ln, L が入力として与えられる。 ∣0⟩, ∣1⟩, ... ∣L−1⟩\ket{0},\ \ket{1},\ ...\ \ket{L-1}∣0⟩, ∣1⟩, ... ∣L−1⟩ の複素振幅 aia_iai に −1-1−1 をかけるようなオラクル OOO を nnn 量子ビットをもつ量子回路 qc\mathrm{qc}qc 上に実装せよ。 制約 1≤n≤101 \leq n \leq 101≤n≤10 1≤L≤2n1 \leq L \leq 2^n1≤L≤2n 量子回路の 深さ は 505050 を超えてはならない。 グローバル位相 は問わない。 整数はリトルエンディアンにしたがってエンコードすること (例:∣100⟩=1≠∣001⟩\ket{100} = 1 \neq \ket{001}∣100⟩=1=∣001⟩) 提出されるコードは次のフォーマットにしたがうこと from qiskit import QuantumCircuit def solve(n: int, L: int) -> QuantumCircuit: qc = QuantumCircuit(n) # Write your code here: return qc 入力例 n=2, L=3n = 2,\ L=3n=2, L=3: オラクル OOO は次式の遷移を満たす。 14(∣00⟩+∣10⟩+∣01⟩+∣11⟩)→O14(−∣00⟩−∣10⟩−∣01⟩+∣11⟩)\frac{1}{\sqrt{4}} (\ket{00} + \ket{10} + \ket{01} + \ket{11}) \xrightarrow{O} \frac{1}{\sqrt{4}} (-\ket{00} - \ket{10} - \ket{01} + \ket{11})41(∣00⟩+∣10⟩+∣01⟩+∣11⟩)O41(−∣00⟩−∣10⟩−∣01⟩+∣11⟩)