luogu#P7784. 「MCOI-Zero / AC6-M15」 Chandelier

「MCOI-Zero / AC6-M15」 Chandelier

题目背景

「不,还没完……」

「什么!?」

「炮管打开了。
 那个丑陋的东西开始通过炮管散热了!」

「它的关键区域就在炮管后面。」

「Talisman……
 ……我们可以信任你,对吗?」

$$_{{\frac{\large\text{ACE COMBAT }\Large6}{\tiny{\text{F i r e s\quad O f\quad L i b e r a t i o n}}}}}\\ \text{Mission 15} \\\Large\text{Chandelier}\\\tiny -\textit{ To All Things } -$$

题目描述

Chandelier 的核心可以被描述为一个 n×mn\times m 的矩阵。初始时,矩阵中的每一个格子都是一个独立的空间。

如果在核心中存在两个空间使得它们在矩阵上的并是一个矩形,则这两个空间可以合并为一个空间,合并出的空间就是原先两个空间的并。

如果不存在任何两个空间的并是矩形,则我们称核心达到了稳定状态。

如果一个空间的长达到了 nn 或者宽达到了 mm,那么核心将会短路,引发爆炸。注意这里空间的长指的是和原矩阵的长为 nn 的边平行的边的长度,宽类似。也就是说如果平行于 原矩形的长为 nn 的边 的边长达到了 mmm<nm<n,那么这是合法的。

核心达到了稳定状态后,你才能攻击并摧毁它,需要的攻击次数就是剩下的空间数。

你剩下的弹药不多了,所以只能攻击 1010 次。

你需要合理地控制空间的合并,使得核心在不短路的情况下达到稳定状态,且需要的攻击次数 10\leq 10

求出一种可能合并出来的形态。如果核心无法在不短路的情况下达到稳定或者无法合并为 10\leq 10 个空间,输出 1-1

输入格式

一行用空格分割的两个整数 n,mn,m

输出格式

如果无解,输出一行 -1

如果有解,在第一行输出一个整数 xx,表示空间数量。

然后输出一个 n×mn\times m 的矩阵 aa,满足 1ai,jx1\leq a_{i,j}\leq xai,ja_{i,j} 表示 (i,j)(i,j) 属于哪一个空间。相同的数代表相同的空间,不同的数代表不同的空间。

如果有多解,输出任意一个即可。

5 6
10
1 9 9 9 9 10
1 2 3 4 4 10
1 2 3 5 5 5
1 2 6 6 6 8
7 7 7 7 7 8

提示

  • Subtask 1(20 pts):n,m2n,m\leq 2
  • Subtask 2(40 pts):n,m4n,m\leq 4
  • Subtask 3(40 pts):无特殊限制。

对于 100%100\% 的数据,满足 1n,m1031\leq n,m\leq 10^{3}

idea:Sol1,solution:Sol1,code:Sol1,data:Sol1


「我看见大炮终于完了……」

「全机注意,
 战争结束了。」

……

「Talisman 看,太阳升起来了。」

「尽管黑夜是如此漫长,但终将迎来黎明的曙光。」

「我们失去的战友,都把他们的生命之火
 献给了破晓之光。」

「我们尽最大努力存活——
 就是对他们的最好悼念。」

「现在,来吧。」

「让我们回家吧。」