№ 1598Квантовые вычисленияУровень 2

Инверсия при нулевом управляющем кубите

Вход — два кубита в произвольном состоянии

$$\alpha|00\rangle+\beta|01\rangle+\gamma|10\rangle+\delta|11\rangle,$$

хранящиеся в массиве длины 2. Напишите операцию на языке Q#, переводящую их в

$$\beta|00\rangle+\alpha|01\rangle+\gamma|10\rangle+\delta|11\rangle.$$

Задачу можно решить одним библиотечным вызовом. Как упражнение, попробуйте также выразить решение через несколько вентилей Паули, возможно управляемых.

Заготовка Q#:

namespace Kata {
    operation AntiControlledGate (qs : Qubit[]) : Unit is Adj + Ctl {
        // Implement your solution here...
        
    }
}