#P16118. [USTCPC 2026] Filling with Z-shape

    ID: 29509 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>数学Special Judge构造2026Ad-hoc高校校赛

[USTCPC 2026] Filling with Z-shape

题目描述

有一个 m×nm \times n 的方格表,坐标下标从 00 开始。初始时,每个小方格中都填有 1-1

一次操作可以选定一个"Z字形"区域(见图片,可旋转和翻转),将其中所填的数都变号。

输入 m,nm,n,请问是否存在一系列的操作,将方格表中的所有数都变为 11

如果不存在这样的操作序列,则输出 Impossible!

输入格式

输入包含两个整数 m,nm,n ($2\leq m,n\leq 2\times 10^5, 4\leq mn \le 2\times 10^5$),表示方格表的行数和列数。

输出格式

如果存在解决方案,输出操作序列:第一行输出操作数量 r(0r106)r(0\leq r\leq 10^6),然后输出 rr 行,每行 88 个整数,分别表示"Z字形"的四个格子的坐标(顺序为 x1,y1,x2,y2,x3,y3,x4,y4x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4,其中四个点的顺序任意);如果不存在,输出 Impossible!。如果有多组解决方案,输出任意一组即可。

可以证明,如果存在合法的解决方案,一定存在一种合法的解决方案使得 0r1060\leq r \leq 10^6

2 4
4
0 0 0 1 1 1 1 2
1 0 1 1 0 1 0 2
1 3 0 1 1 2 0 2
1 1 1 2 0 2 0 3
2 5
Impossible!