#P4917. [POI 1998] Painter’s Studio
[POI 1998] Painter’s Studio
以下是 POI 1998(波兰信息学奥林匹克 1998)中题目 "Painter’s Studio"(画家的工作室)的完整中文题面:
【题目描述】
一家海报工厂需要制作一块大型彩色海报。这块海报由一个 的正方形网格组成(),每个格子涂有一种颜色。为了提高效率,工厂使用一种特殊的喷枪,它每次可以喷涂一个连续的矩形区域,并将该区域内的所有格子涂成同一种颜色。
喷涂过程按顺序进行:后喷涂的矩形会完全覆盖之前喷涂的部分。最终,海报呈现出一个 的彩色图案。
现在,给你最终完成的海报图案,请确定最少需要多少次喷涂操作,才能得到该图案。
注意:
- 每次喷涂必须是一个非空的轴对齐矩形(即行和列连续);
- 每次喷涂使用单一颜色;
- 后喷涂的矩形可以覆盖之前的任意区域(包括部分或全部);
- 初始时,海报是空白的(可视为一种“背景色”,但题目不关心初始状态,只关心最终图案能否由若干矩形喷涂得到);
- 最终图案中可能出现任意颜色(用正整数表示),不同颜色用不同整数标识。
【输入格式】
第一行包含一个整数 (),表示海报的尺寸。
接下来 行,每行包含 个整数(每个整数在 到 之间),表示最终海报的颜色分布。相同数字代表相同颜色。
【输出格式】
输出一个整数,表示得到该海报所需的最少喷涂次数。
【样例输入】
3
1 1 1
1 2 2
1 2 3
【样例输出】
3
【样例说明】
- 第一次喷涂整个 区域为颜色 1;
- 第二次喷涂右下角 区域为颜色 2;
- 第三次喷涂右下角 (即 (3,3))为颜色 3。
共需 3 次。
【数据范围】
- 颜色编号为正整数,不超过
【来源】
Polish Olympiad in Informatics (POI), 1998, Stage III, Problem 3
(POI 1998 第三阶段 第3题)