P12549 [UOI 2025] Gift for Anton 题解

· · 题解

题面解释:

通过构造 n\times m 的矩阵,使得对于任意 a_{i,j} 的上下左右四个数(超出边界视为没有数)中有 a_{i,j}a_{i,j}

思路分析:

首先考虑每个数有什么公式化的安放方式。

? ? ?
? 0 ?
? ? ?
? ? ? ?
? 1 1 ?
? ? ? ?
? ? ? ?
? 2 2 ?
? 2 2 ?
? ? ? ?

容易发现 34 难以构造出合理的单位矩阵,那么我们对上面的矩阵进行组合,不难得到:

? ? ? ? ?
? 0 1 1 ?
? 1 2 2 ?
? 1 2 2 ?
? ? ? ? ?

然后观察此单位矩阵,发现其可以横向或竖向相接,但是需保证 2 所在的 2\times2 的矩阵的中心不能位于边界上。所以当 n\bmod 3=2 时,需要整体横向平移,竖向同理。

实现是简单的,代码没有放的必要。