問題文 整数 n, Ln,\ Ln, L, 実数 θ\thetaθ が入力として与えられる。 000 以上 2n2^n2n 未満の任意の整数 yyy に対して ∣y⟩n→O{eiθ∣y⟩ny=Leiθ∣y⟩ny≠L\begin{equation} \ket{y}_n \xrightarrow{O} \begin{cases} e^{i\theta} \ket{y}_n & y = L \\ \phantom{e^{i\theta}} \ket{y}_n & y \neq L \end{cases} \nonumber \end{equation}∣y⟩nO{eiθ∣y⟩neiθ∣y⟩ny=Ly=L を満たす nnn 量子ビットオラクル OOO を実装せよ。 制約 1≤n≤101 \leq n \leq 101≤n≤10 0≤L<2n0 \leq L < 2^n0≤L<2n 0≤θ<2π0 \leq \theta < 2\pi0≤θ<2π 整数はリトルエンディアンにしたがってエンコードすること (例:∣100⟩=1≠∣001⟩\ket{100} = 1 \neq \ket{001}∣100⟩=1=∣001⟩) グローバル位相 は問わない。 提出されるコードは次のフォーマットにしたがうこと from qiskit import QuantumCircuit def solve(n: int, L: int, theta: float) -> QuantumCircuit: qc = QuantumCircuit(n) # Write your code here: return qc 入力例 n=2, L=1, θ=π/2n = 2,\ L = 1,\ \theta = \pi/2n=2, L=1, θ=π/2: 実装された量子回路 qc\mathrm{qc}qc は次式を満たす。 14(∣00⟩+∣10⟩+∣01⟩+∣11⟩)→qc14(∣00⟩+i∣10⟩+∣01⟩+∣11⟩)\frac{1}{\sqrt{4}} (\ket{00} + \ket{10} + \ket{01} + \ket{11}) \xrightarrow{\mathrm{qc}} \frac{1}{\sqrt{4}} (\ket{00} + i\ket{10} + \ket{01} + \ket{11})41(∣00⟩+∣10⟩+∣01⟩+∣11⟩)qc41(∣00⟩+i∣10⟩+∣01⟩+∣11⟩)