洛谷P1803 凌乱的yyy / 线段覆盖

题目链接:洛谷P1803 凌乱的yyy / 线段覆盖

程序说明:

贪心算法的区间调度问题,在可选工作中,每次都选取结束时间最早的工作。将所有工作按结束时间从小到大排序,若时间不重叠则选取。
注意自定义结构体排序的操作。
此题的大坑!!结构体名不能用time。。因为这个原因导致编译不能通过。。。

代码如下:

#include <iostream>
#include <algorithm>
#define MAX 1000000
using namespace std;
struct point {
	int x, y;
} p[MAX];
bool cmp(point t1, point t2) {
	return t1.y < t2.y;
}
int n, cnt = 1;
int main() {
	cin>>n;
	for(int i = 0; i < n; i++)
		cin>>p[i].x>>p[i].y;
	sort(p, p + n, cmp);
	point t = p[0];
	for(int i = 1; i < n; i++) {
		if(p[i].x >= t.y) {
			cnt++;
			t = p[i];
		}			
	}
	cout<<cnt;
	return 0;
}
发布了44 篇原创文章 · 获赞 0 · 访问量 834

猜你喜欢

转载自blog.csdn.net/Komatsu_1137/article/details/104073496
今日推荐