4798: 方格覆盖
[Creator : ]
Description
给定一个 $n × n$ 的矩形,其中从左上角开始,对角线上连续的 $k$ 个格子中有障碍物。你可以把若干 $1 × 2$ 的小矩形放置到该大矩形中,要求是放置的两个小矩形不能占据相同的格子,且不能碰到障碍物。
例如图是 $n = 4,\ k = 2$ 的例子,我们放置了 $6$ 个 $1 × 2$ 的小矩形。
给定 $n,\ k$,请你输出一个方案,使得放置的 $1 × 2$ 小矩形尽可能多。可以证明,$n = 4,\ k = 2$ 时,至多只能放置 $6$ 个小矩形。
例如图是 $n = 4,\ k = 2$ 的例子,我们放置了 $6$ 个 $1 × 2$ 的小矩形。
给定 $n,\ k$,请你输出一个方案,使得放置的 $1 × 2$ 小矩形尽可能多。可以证明,$n = 4,\ k = 2$ 时,至多只能放置 $6$ 个小矩形。
Input
输入一行两个用空格分隔的正整数 $n,\ k$,表示矩形的大小和障碍物的数量。
Output
输出 $n$ 行,每行 $n$ 个整数(用任意数量的空格分隔)。放置的小矩形分别用 $1,\ 2,\ ...,\ n$。不放置小矩形的格子输出 $0$。
如有多种最优方案(放置最多数量的小矩形),输出任意一种即可。
如有多种最优方案(放置最多数量的小矩形),输出任意一种即可。
Constraints
对于 $50\%$ 的测试数据,有 $1 ≤ n ≤ 10$;
对于 $100\%$ 的测试数据,有 $1 ≤ k ≤ n ≤ 50$。
对于 $100\%$ 的测试数据,有 $1 ≤ k ≤ n ≤ 50$。
Sample 1 Input
4 2
Sample 1 Output
0 0 1 2
3 0 1 2
3 4 4 0
5 5 6 6