https://codeforces.com/contest/1002/problem/B1
$N$桁の量子状態が与えられる。この状態が
のどちらであるかを判定し、状態$\ket{0...0}$であれば0を、W状態であれば1を返せ。
すべてのqubitに対してPauli Z演算子を対角とする測定をして、$\ket{1}$が見つかれば1を、そうでなければ0を返せばよいです。
これで、この問題が解けました。
namespace Solution {
open Microsoft.Quantum.Primitive;
open Microsoft.Quantum.Canon;
operation Solve (qs : Qubit[]) : Int
{
body
{
for(i in 0..Length(qs)-1){
if(M(qs[i])!=Zero){
return 1;
}
}
return 0;
}
}
}