QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#10824. 反合并

统计

在 Kanade 的日常工作中,她需要处理大量的文档。她的工作之一是处理如下所示的表格:

1 1 2 2 6
1 1 2 2 7
1 4 3 5 5

Kanade 不喜欢重复的数字。因此,她安装了一个插件来合并内容相同的相邻单元格。该插件会首先合并每一列中内容相同的单元格,然后合并每一行中内容相同(且在第一步中合并后高度相同)的单元格。例如,使用该插件后,上面的表格将显示为:

1 1 2 6
7
1 4 3 5

这个插件对 Kanade 来说很好用,但也带来了一些问题。例如,有些项目要求她不要合并单元格。为了满足这一点,Kanade 可以给一些单元格添加标签。标签是单元格内容的一部分,但它不会被显示出来。因此,如果两个单元格显示的数字相同但标签不同,它们就不会被合并。但如果它们有相同的标签,它们仍然会被合并。

现在 Kanade 需要处理一个 $n$ 行 $m$ 列的表格,要求她不能合并其中的任何单元格。为了防止任何单元格被合并,Kanade 想知道至少需要添加多少种标签。她还想知道在标签种类数最少的情况下,如何添加标签以使添加的标签总数最少。

输入格式

第一行包含两个整数 $n, m$ ($1 \le n, m \le 500$),表示表格的行数和列数。

接下来的 $n$ 行,每行包含 $m$ 个范围在 $[1, 10^9]$ 内的整数,表示表格的内容。

输出格式

第一行包含两个整数。第一个整数 $t$ ($0 \le t \le n \times m$) 表示需要添加的最少标签种类数。第二个整数 $k$ ($0 \le k \le n \times m$) 表示在标签种类数最少的情况下,需要添加的最少标签总数。

接下来的 $k$ 行,每行包含三个整数 $x, y, c$ ($1 \le x \le n, 1 \le y \le m, 1 \le c \le t$),表示将标签 $c$ 添加到第 $x$ 行第 $y$ 列的单元格中。如果存在多种方案,输出任意一种即可。

样例

输入 1

1 3
1 1 4

输出 1

1 1
1 1 1

输入 2

1 3
5 1 4

输出 2

0 0

输入 3

2 3
1 1 4
5 1 4

输出 3

1 2
1 2 1
2 3 1

说明

请注意,如果输出的长度或格式与答案不符,你可能会收到 Presentation Error 的判决。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.