51-NOD-1428 活动安排问题

原题连接:点击打开链接


1428 活动安排问题
基准时间限制:1 秒 空间限制:131072 KB 分值: 10  难度:2级算法题
 收藏
 关注
有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室? 
Input
第一行一个正整数n (n <= 10000)代表活动的个数。
第二行到第(n + 1)行包含n个开始时间和结束时间。
开始时间严格小于结束时间,并且时间都是非负整数,小于1000000000
Output
一行包含一个整数表示最少教室的个数。
Input示例
3
1 2
3 4
2 9
Output示例
2

#include
using namespace std;
struct Time{
	int st;
	int endd;
}action[10001];

bool cmp(Time a,Time b)
{
	if(a.endd==b.endd)
		return a.st<=b.st;
	return a.endd> action[i].st >> action[i].endd;
		}
		sort(action,action+n,cmp);
		int cnt=0,s;	//	记录能进行的活动数 

		for(int j=0;jaction[i].st)
				{
					s++;
				}
			}
			cnt=max(cnt,s);
		}
		cout << cnt << endl; 
	} 
}


你可能感兴趣的:(贪心)