from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
# Two-input balanced function f(x)=x0 XOR x1.
# Phase oracle: (-1)^f(x) implemented with Z on each input.
qc = QuantumCircuit(2)
qc.h([0, 1])                 # prepare uniform input amplitudes
qc.z([0, 1])                 # balanced phase oracle
qc.h([0, 1])                 # interfere the signed amplitudes
print(qc.draw())
print(Statevector.from_instruction(qc).probabilities_dict())
# Expected: '11' with probability 1; never '00'.
