\(b\) 内の数値の並び順は関係ないので, \(0\) が \(x\) 個, \(1\) が \(y\) 個あるとする.

このとき, いくつか選んだ和が \(2\) になる組み合わせの数は,

\[2^x \times {}_yC_2 = 2^x \times \frac{y(y-1)}{2}\]

である. \(x+y \leq 30\) なので, \(x+y\) で全探索する.