题目
棋手楚继光和张琪曼一动不动地在棋盘前已经沉默地坐了五个小时。
他们全神贯注地盯着每粒棋子。
突然,楚继光说:“原则上我是反对在下棋时说话的,但是我现在不得不开口问:现在究竟该谁走下一步棋了?”
张琪曼说:“谁先走都不重要了,现在的问题是:谁把这个棋盘上的格子损坏了?”
正如图所示,有一正方形棋盘,其边长为 2 k ( 1 < k < 10 ) 2^k(1<k<10) 2k(1<k<10),其中有一格损坏。现在想用如图中间所示形状的硬纸板将没有坏的所有格子盖起来。而硬纸板不得放入坏格中和棋盘外面。编程输出一种覆盖方案,将共用一块硬纸板的三个格子用相同的数字表示。
上图所示是 k = 2 k=2 k=2的情形,且输出结果不一定和图示方案一致,符合题目要求即可,输出时只需输出数字方阵而不必画出格子线。
输入格式
三个整数,即k和坏格子的y坐标和x坐标 (注意坏格子的坐标输入顺序)。
输出格式
数字方阵,其中坏坐标以数字 7 7 7表示。
样例
样例输入
2 1 1
样例输出
7 4 2 2
4 4 4 2
3 4 4 4
3 3 4 4
题解
以 8 × 8 8 \times 8 8×8的棋盘为例
黑色为残缺的部分
现在我们对整个棋盘进行分割
接下来我们在分割处加上一个覆盖物,这是为了保证递归求解每个分割的小块时不会出错