#1008. 「USACO 2011.11 Gold」Binary Sudoku

内存限制
512 MiB
时间限制
2000 ms
文件输入输出
bsudoku.in ≫ bsudoku.out
题目类型
传统
评测方式
文本比较
上传者 admin
题目来源 usaco

显示标签

题目描述

数独有一类二进制变种,同样由 的网格和 个大小为 的子网格组成,但是只包含

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

给定一个二进制数独的初始局面,问最少需要多少次翻转可以得到解。

输入格式 bsudoku.in

一共包含 行,每行包含一个长度为 的二进制串,表示初始局面中对应的行。

输出格式 bsudoku.out

第一行包含一个整数,表示需要翻转的最少次数。

样例

输入

000000000
001000100
000000000
000110000
000111000
000000000
000000000
000000000
000000000

输出

3