#GDKOI2024SD2T3. 染色
染色
[GDKOI2024 提高组] 染色
赛事要求
2024 年广东省重点中学信息学邀请赛 (GDKOI 2024)
提高组 第二试
2024 年 1 月 7 日
注意事项
- 严格按照题目所要求的格式进行输入、输出,否则严重影响得分。
- 题目测试数据有严格的时间限制,超时不得分。
- C/C++ 中函数 main() 的返回值类型必须是 int,程序正常结束时的返回值必须是 0。
- 输入文件格式不用判错;输入输出文件名均已给定,不用键盘输入。
- 评测环境为 NOI 系列活动标准竞赛环境,编译器版本为 g++ 9.4.0。
- 若无特殊说明,结果的比较方式为全文比较 (过滤行末空格及文末回车)。
- 对于 C++ 选手,64 位整数输入输出格式为 %lld。
- 选手提交的程序源文件必须不大于 100KB。
- 对于 C++ 语言的编译选项为 -O2 -std=c++14
题目描述
Alice 非常喜欢二进制,她认为事物只有和二进制有关才是美的。
一天,她奇思妙想了一种图案,并打算在长宽都为 的网格上画出她心中所想的图案。 网格的格子只有黑色和白色两种,一开始都是白色。
现在 Alice 规定一种绘画操作为:选定一个格子,使它自己和相邻上下左右的网格颜色反转,即原本黑色会变成白色,白色会变成黑色。
Alice 还规定网格的第一行和最后一行相邻,第一列和最后一列也相邻。
现在 Alice 希望你给出一个操作方案或告诉无解。如果有多个方案,输出任意一个即可。
输入格式
第一行一个正整数 。
接下来一个 的矩阵,表示 Alice 所想的图案。其中 表示白色, 表示黑色。
输出格式
第一行一个数 表示操作次数,或输出 表示无解。
接下来 行,每行一个坐标表示操作位置。其中每一维坐标范围均为 。
样例 #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
提示
- 对于 的数据,。
- 对于另外 的数据,。
- 对于另外 的数据,。
- 对于 的数据,。