# Importăm modulele necesare din Qiskit
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram

# Creăm un circuit cuantic cu 2 qubiți și 2 biți clasici
qc = QuantumCircuit(2, 2)

# Primul qubit este pregătit într-o stare de superpoziție, simulând trecerea prin două fante
qc.h(0)

# Aplicăm o poartă CNOT pentru a încurca cei doi qubiți, qubitul 0 fiind controlul și qubitul 1 ținta
# Aceasta simulează "marcarea" căii particulei prin care fanta a trecut
qc.cx(0, 1)

# "Ștergem" informația adăugând o altă poartă Hadamard pe primul qubit
# Aceasta operatie reprezintă partea de "ștergere" a informației despre cale
qc.h(0)

# Măsurăm ambii qubiți și stocăm rezultatul în biții clasici
qc.measure(0,0)
qc.measure(1,1)

# Executăm circuitul pe un simulator
simulator = Aer.get_backend('qasm_simulator')
result = execute(qc, simulator, shots=1000).result()

# Afișăm rezultatele sub forma unui histogram
counts = result.get_counts(qc)
plot_histogram(counts)
