B4: Left and Right Aligned

実行時間制限:3 秒

メモリ制限:512 MiB

配点:400点

問題文

整数 nn, ss, tt が入力として与えられる。

以下の条件を満たすオラクル OO を、n+1n+1 量子ビットをもつ量子回路 qc\mathrm{qc} 上に実装せよ。

  1. 任意の sk<2ns \leq k < 2^n を満たす整数 kk に対して
kn+1Oksn+1\ket{k}_{n+1} \xrightarrow{O} \ket{k - s}_{n+1}
  1. 任意の 2nk<t2^n \leq k < t を満たす整数 kk に対して
kn+1Ok+2n+1tn+1\ket{k}_{n+1} \xrightarrow{O} \ket{k + 2^{n+1} - t}_{n+1}

制約

  • 1n101 \leq n \leq 10
  • 0s<2n<t<2n+10 \leq s < 2^n < t < 2^{n+1}
  • グローバル位相 は問わない。
  • 整数は リトルエンディアン にしたがってエンコードすること
  • 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
 
 
def solve(n: int, s: int, t: int) -> QuantumCircuit:
    qc = QuantumCircuit(n + 1)
    # Write your code here:
 
    return qc

ヒント

開く
  • B3 の回路をうまく利用できないか考えてみましょう。

解答を提出するにはログインしてください。