题解:AT_arc226_c [ARC226C] Square Corner Packing
aaron0919
·
·
题解
找规律题被猜出来了。
考虑都是奇数怎么做。以下是赛时思路。
先画一个 $5\times5$ 的。
找不到赛时截的图了,就这个:
```
#$$ #
$$%%
&& %%
&&@@
# @@#
```
发现尽力了,那就看 $7\times7$,赛时画的。

此时还看不出来什么,但是感觉很有规律,因此再画一个 $9\times9$ 的,还是赛时的图。

此时做法已经呼之欲出了,每次可以剥掉最外面两层然后递归。
再思索一下 $h\not=w$ 怎么做,发现可以截出来一个 $h=w$ 的,剩下的用一奇一偶填就对了。
然后有一个非常有趣且简单的写法,对于两个都是奇数的情况,我们可以直接每次递归的时候把四个角填了,直到递归到 $h',w'<3$,剩下的可以有填就填。
具体来说应该是先填成左边的样子,然后有填就填就是右边的样子,也就是答案。
```
#.......#.... #$$%%@@.#&&**
............. .$$%%@@$$&&**
..#...#...... @@#&&.#$$**&&
............. @@.&&**%%**&&
............. ==> %%**.**%%&&**
............. %%**&&.@@&&**
..#...#...... $$#.&&#@@**&&
............. $$@@%%$$.**&&
#.......#.... #.@@%%$$#....
```
[赛时实现。](https://atcoder.jp/contests/arc226/submissions/78258208)