luogu#P7784. 「MCOI-Zero / AC6-M15」 Chandelier
「MCOI-Zero / AC6-M15」 Chandelier
题目背景
「不,还没完……」
「什么!?」
「炮管打开了。
那个丑陋的东西开始通过炮管散热了!」
「它的关键区域就在炮管后面。」
「Talisman……
……我们可以信任你,对吗?」
题目描述
Chandelier 的核心可以被描述为一个 的矩阵。初始时,矩阵中的每一个格子都是一个独立的空间。
如果在核心中存在两个空间使得它们在矩阵上的并是一个矩形,则这两个空间可以合并为一个空间,合并出的空间就是原先两个空间的并。
如果不存在任何两个空间的并是矩形,则我们称核心达到了稳定状态。
如果一个空间的长达到了 或者宽达到了 ,那么核心将会短路,引发爆炸。注意这里空间的长指的是和原矩阵的长为 的边平行的边的长度,宽类似。也就是说如果平行于 原矩形的长为 的边 的边长达到了 且 ,那么这是合法的。
核心达到了稳定状态后,你才能攻击并摧毁它,需要的攻击次数就是剩下的空间数。
你剩下的弹药不多了,所以只能攻击 次。
你需要合理地控制空间的合并,使得核心在不短路的情况下达到稳定状态,且需要的攻击次数 。
求出一种可能合并出来的形态。如果核心无法在不短路的情况下达到稳定或者无法合并为 个空间,输出 。
输入格式
一行用空格分割的两个整数 。
输出格式
如果无解,输出一行 -1
。
如果有解,在第一行输出一个整数 ,表示空间数量。
然后输出一个 的矩阵 ,满足 。 表示 属于哪一个空间。相同的数代表相同的空间,不同的数代表不同的空间。
如果有多解,输出任意一个即可。
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):。
- Subtask 2(40 pts):。
- Subtask 3(40 pts):无特殊限制。
对于 的数据,满足 。
idea:Sol1,solution:Sol1,code:Sol1,data:Sol1
「我看见大炮终于完了……」
「全机注意,
战争结束了。」
……
「Talisman 看,太阳升起来了。」
「尽管黑夜是如此漫长,但终将迎来黎明的曙光。」
「我们失去的战友,都把他们的生命之火
献给了破晓之光。」
「我们尽最大努力存活——
就是对他们的最好悼念。」
「现在,来吧。」
「让我们回家吧。」