#P4917. [POI 1998] Painter’s Studio

[POI 1998] Painter’s Studio

以下是 POI 1998(波兰信息学奥林匹克 1998)中题目 "Painter’s Studio"(画家的工作室)的完整中文题面:

【题目描述】

一家海报工厂需要制作一块大型彩色海报。这块海报由一个 n×nn \times n 的正方形网格组成(1n1001 \le n \le 100),每个格子涂有一种颜色。为了提高效率,工厂使用一种特殊的喷枪,它每次可以喷涂一个连续的矩形区域,并将该区域内的所有格子涂成同一种颜色。

喷涂过程按顺序进行:后喷涂的矩形会完全覆盖之前喷涂的部分。最终,海报呈现出一个 n×nn \times n 的彩色图案。

现在,给你最终完成的海报图案,请确定最少需要多少次喷涂操作,才能得到该图案。

注意:

  • 每次喷涂必须是一个非空的轴对齐矩形(即行和列连续);
  • 每次喷涂使用单一颜色
  • 后喷涂的矩形可以覆盖之前的任意区域(包括部分或全部);
  • 初始时,海报是空白的(可视为一种“背景色”,但题目不关心初始状态,只关心最终图案能否由若干矩形喷涂得到);
  • 最终图案中可能出现任意颜色(用正整数表示),不同颜色用不同整数标识。

【输入格式】

第一行包含一个整数 nn1n1001 \le n \le 100),表示海报的尺寸。

接下来 nn 行,每行包含 nn 个整数(每个整数在 11n2n^2 之间),表示最终海报的颜色分布。相同数字代表相同颜色。

【输出格式】

输出一个整数,表示得到该海报所需的最少喷涂次数

【样例输入】

3
1 1 1
1 2 2
1 2 3

【样例输出】

3

【样例说明】

  • 第一次喷涂整个 3×33 \times 3 区域为颜色 1;
  • 第二次喷涂右下角 2×22 \times 2 区域为颜色 2;
  • 第三次喷涂右下角 1×11 \times 1(即 (3,3))为颜色 3。

共需 3 次。

【数据范围】

  • 1n1001 \le n \le 100
  • 颜色编号为正整数,不超过 n2n^2

【来源】

Polish Olympiad in Informatics (POI), 1998, Stage III, Problem 3
(POI 1998 第三阶段 第3题)