Различить H и X двумя обращениями
Вход — операция на одном кубите, реализующая либо вентиль Адамара $H$, либо $X$. Напишите операцию на языке Q#, возвращающую 0 для $H$ и 1 для $X$.
Для операции определены обратный вариант Adjoint и управляемый вариант Controlled. Разрешено суммарно не более двух обращений к переданной операции или её вариантам.
Заготовка Q#:
namespace Kata {
operation DistinguishHfromX(unitary : (Qubit => Unit is Adj + Ctl)) : Int {
// Implement your solution here...
return -1;
}
}