№ 1522Квантовая теория информацииУровень 3

Различить состояния с одной положительной амплитудой

Два кубита в массиве находятся в одном из четырёх ортогональных состояний. Напишите операцию на языке Q#, возвращающую номер $j$:

$$|S_0\rangle=(|00\rangle-|01\rangle-|10\rangle-|11\rangle)/2,$$

$$|S_1\rangle=(-|00\rangle+|01\rangle-|10\rangle-|11\rangle)/2,$$

$$|S_2\rangle=(-|00\rangle-|01\rangle+|10\rangle-|11\rangle)/2,$$

$$|S_3\rangle=(-|00\rangle-|01\rangle-|10\rangle+|11\rangle)/2.$$

Конечное состояние кубитов неважно.

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

namespace Kata {
    operation TwoQubitStateTwo(qs : Qubit[]) : Int {
        // Implement your solution here...

        return -1;
    }
}