您的位置:首页 > 其它

hdu2037 今年暑假不AC (简单贪心)

2014-12-29 11:03 253 查看
题意:每个节目有开始时间和结束时间,求最多能看多少个节目

分析:以结束时间进行排序。

#include<stdio.h>
#include<algorithm>
using namespace std;

struct tt{ //这里我写成time,过不了编译,改成了tt
int sta;
int end;
}tim[110];

bool cmp(tt a,tt b){
if(a.end!=b.end) return a.end<b.end;
return a.sta<b.sta;
}

int main(){
int n;
while(scanf("%d",&n)!=EOF &&n){
for(int i=0;i<n;i++)
scanf("%d%d",&tim[i].sta,&tim[i].end);
sort(tim,tim+n,cmp);
int e=tim[0].end;//观看第一个节目
int tot=1;//观看的总个数

for(int i=1;i<n;i++){
if(tim[i].sta>=e){
tot++;
e=tim[i].end;
}
}

printf("%d\n",tot);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: