HDU-2037-今年暑假不AC

 

分析:

1. 很多组结果,都在一个时间轴上,结束越早的越好。所以按照结束时间排序。

2.一步一步更新当前的时间,若谁的开始时间大于等于当前时间。更新当前时间为此节目的结束时间。计数加一。

 

 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 typedef struct node
 6 {
 7     int s;
 8     int e;
 9 }node;
10 bool cmp(node a,node b)
11 {
12     return a.e<b.e;
13 }
14 node a[103];
15 int main()
16 {
17     int n;
18     while(~scanf("%d",&n)&&n)
19     {
20         for(int i=0;i<n;i++)
21         {
22             scanf("%d%d",&a[i].s,&a[i].e);
23         }
24         sort(a,a+n,cmp);
25 
26         int lasttime = -1;
27         int cnt = 0;
28         for(int i=0;i<n;i++)
29         {
30             if(a[i].s>=lasttime)
31             {
32                 cnt++;
33                 lasttime = a[i].e;
34             }
35         }
36         printf("%d\n",cnt);
37     }
38     return 0;
39 }

 

posted @ 2018-07-24 21:38  kpole  阅读(126)  评论(0编辑  收藏  举报