Problem4798--方格覆盖

4798: 方格覆盖

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给定一个 $n × n$ 的矩形,其中从左上角开始,对角线上连续的 $k$ 个格子中有障碍物。你可以把若干 $1 × 2$ 的小矩形放置到该大矩形中,要求是放置的两个小矩形不能占据相同的格子,且不能碰到障碍物。
例如图是 $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$。

Sample 1 Input

4 2

Sample 1 Output

0 0 1 2 
3 0 1 2 
3 4 4 0 
5 5 6 6

HINT


Source/Category