数独有一类二进制变种,同样由 的网格和 个大小为 的子网格组成,但是只包含 :
000 000 000 001 000 100 000 000 000 000 110 000 000 111 000 000 000 000 000 000 000 000 000 000 000 000 000
解这类二进制数独的要求是,通过翻转尽可能少的位置,使每行每列以及每个子网格的异或和为 (也就是恰好包含偶数个 )。
比如上面的例子,可以通过翻转三个位置得到一个解:
000 000 000 001 000 100 001 000 100 000 110 000 000 110 000 000 000 000 000 000 000 000 000 000 000 000 000
给定一个二进制数独的初始局面,问最少需要多少次翻转可以得到解。
一共包含 行,每行包含一个长度为 的二进制串,表示初始局面中对应的行。
第一行包含一个整数,表示需要翻转的最少次数。
000000000 001000100 000000000 000110000 000111000 000000000 000000000 000000000 000000000
3