测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6744. 「GDKOI-S 2024」染色

编程题 省选/NOI-
知识点

题目描述

Alice 非常喜欢二进制,她认为事物只有和二进制有关才是美的。

一天,她奇思妙想了一种图案,并打算在长宽都为 $2^n$ 的网格上画出她心中所想的图案。
网格的格子只有黑色和白色两种,一开始都是白色。

现在 Alice 规定一种绘画操作为:选定一个格子,使它自己和相邻上下左右的网格颜色反转,即原本黑色会变成白色,白色会变成黑色。

Alice 还规定网格的第一行和最后一行相邻,第一列和最后一列也相邻。

现在 Alice 希望你给出一个操作方案或告诉无解。如果有多个方案,输出任意一个即可。

输入格式

第一行一个正整数 $n$。

接下来一个 $2^n \times 2^n$ 的矩阵,表示 Alice 所想的图案。其中 $0$ 表示白色,$1$ 表示黑色。

输出格式

第一行一个数 $ans$ 表示操作次数,或输出 $-1$ 表示无解。

接下来 $ans$ 行,每行一个坐标表示操作位置。其中每一维坐标范围均为 $[0, 2^n - 1]$。

输入输出样例

输入 #1
2
0 0 1 1
1 0 1 0
0 0 0 0
1 1 1 0
输出 #1
7
0 0
1 0
1 3
2 1
3 1
3 2
3 3

说明/提示

对于 $20\%$ 的数据,$n = 2$。
对于另外 $15\%$ 的数据,$n = 4$。
对于另外 $15\%$ 的数据,$n = 7$。
对于 $100\%$ 的数据,$n \leq 11$。
上一题 去做题 下一题