题目描述
CE 数码公司开发了一种名为自动涂色机(APM)的产品。它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色。
为了涂色,APM 需要使用一组刷子。每个刷子蘸了颜色 CC 。APM 拿起一把蘸有颜色 CC 的刷子,并给所有颜色为 CC 的矩形涂色。请注意,涂色有顺序要求:为了避免颜料渗漏使颜色混合,一个矩形只能在所有紧靠它上方的矩形涂色后,才能涂色。例如图中矩形 FF 必须在 CC 和 DD 涂色后才能涂色。注意,每一个矩形必须立刻涂满,不能只涂一部分。
写一个程序求一个使 APM 拿起刷子次数最少的涂色方案。注意,如果一把刷子被拿起超过一次,则每一次都必须记入总数中。
输入
第一行为矩形的个数 NN 。
下面有 NN 行描述了 NN 个矩形。每个矩形有 55 个整数描述,左上角的 yy 坐标和 xx 坐标,右下角的 yy 坐标和 xx 坐标,以及预定颜色。
输出
一行一个整数,表示拿起刷子的最少次数。
样例输入
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
样例输出
3
提示
数据范围与提示
对于全部数据,1 \leq N \leq 141≤N≤14,颜色号为 11 到 2020 的整数。保证平板的左上角坐标总是 (0, 0)(0,0),坐标的范围是 00 到 99 。
Code:Code:Code:
#include<bits/stdc++.h>
using namespace std;
int n,ans=15;
struct node
{
int x1,y1,x2,y2,w,s[18],t;//s数组储存的是当前图形头上的图形,t为头上图形个数
bool vis;
}a[15

这是一篇关于如何使用深度优先搜索(DFS)解决平板涂色问题的文章。文章描述了CE数码公司的自动涂色机(APM)产品,它需要按顺序给平板上的矩形涂色,避免颜色混合。题目要求设计一个算法找到使APM拿起刷子次数最少的涂色方案。输入包括矩形数量和每个矩形的坐标及颜色,输出是最少的拿起刷子次数。样例输入和输出分别给出了7个矩形的情况,最少需要3次涂色。
最低0.47元/天 解锁文章
1040

被折叠的 条评论
为什么被折叠?



