#P1691. Painting A Board
Painting A Board
题目描述
数字公司打造了一台自动绘画机(),用于给一块平板进行上色。这块平板由多个相邻且不重叠的不同大小矩形覆盖,每个矩形都有预先设定好的颜色。

为了给平板上色,配备了一套刷子。每把刷子都有独特的颜色。会选取一把颜色为的刷子,在满足以下限制条件的情况下,为所有预设颜色为的矩形上色:
为避免颜料泄漏和混色,只有当某个矩形上方的所有矩形都已完成上色后,该矩形才能进行上色。例如,在图1中,标有的矩形只有在矩形和完成上色后才能进行上色。需要注意的是,每个矩形必须一次性完成上色,即不允许对一个矩形进行部分上色。
你需要为编写一个程序,使其能够对给定的平板进行上色,并且让刷子的取用次数达到最少。要留意,如果同一把刷子被取用多次,每次取用都要进行计数。
输入
输入文件的第一行包含一个整数,它表示需要求解的测试用例数量()。对于每个测试用例,第一行包含一个整数,即矩形的数量,随后是行,用于描述这些矩形。每个矩形在一行中由个整数来指定:矩形左上角的和坐标、右下角的和坐标,以及矩形的颜色代码。
请注意:
- 颜色代码是一个范围在到之间的整数。
- 平板左上角的坐标始终是。
- 坐标的范围是到。
- 的范围是到。
输出
每个测试用例对应一行输出,显示最少的刷子取用次数。
输入示例1
1
7
0 0 2 2 1
0 2 1 6 2
2 0 4 2 1
1 2 4 4 2
1 4 3 6 1
4 0 6 4 1
3 4 6 6 2
输出示例1
3
来源
德黑兰1999竞赛