#P10085. [GDKOI2024 提高组] 染色

[GDKOI2024 提高组] 染色

题目描述

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

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

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

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

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

输入格式

第一行一个正整数 nn

接下来一个 2n×2n2^n \times 2^n 的矩阵,表示 Alice 所想的图案。其中 00 表示白色,11 表示黑色。

输出格式

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

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

2
0 0 1 1
1 0 1 0
0 0 0 0
1 1 1 0
7
0 0
1 0
1 3
2 1
3 1
3 2
3 3

提示

  • 对于 20%20\% 的数据,n=2n = 2
  • 对于另外 15%15\% 的数据,n=4n = 4
  • 对于另外 15%15\% 的数据,n=7n = 7
  • 对于 100%100\% 的数据,n11n \leq 11