https://atcoder.jp/contests/abc128/submissions/15677953
- 制約が10しかないのでbit全探索する
- ループの最後まで行けたらans++と書くと実装が楽。
任意の電球1個について「配線を辿ってスイッチの個数のmod2がpかどうか」はで判定できる。電球が10個しかないので、任意のスイッチ1パターンに対して電球全て調べてもで処理できる。
なお、スイッチがOFFのときはカウントしてはいけない。
if (NT_NyaaBit::Test(i, k) == e[k]) ++count;
と書きたくなるが、これだとスイッチOFFのときもカウントしてしまうため
if (NT_NyaaBit::Test(i, k) == 1 && e[k]) ++count;
と書く必要がある。スイッチパターンが全部でしかないので、全体計算量で求まる。