loj 10000 活动安排

****这是一个贪心题,把结束时间排个序,然后留出更多的时间给后面的活动。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cmath>
 5 using namespace std;
 6 int i,j,n,ans = 0,beg;
 7 struct node
 8 {
 9     int sta;
10     int mo;
11 }a[1005];
12 int cmp(node a,node b)
13 {
14     return a.mo < b.mo;
15 }
16 int main()
17 {
18     scanf("%d",&n);
19     for(i = 1;i <= n;i++)
20     {
21         scanf("%d %d",&a[i].sta,&a[i].mo);
22     }
23     sort(a + 1,a + 1 + n,cmp);
24     ans = 1;
25     beg = a[1].mo;
26     for(i = 2;i <= n;i++)
27     {
28         if(a[i].sta >= beg)
29         {
30             ans++;
31             beg = a[i].mo;
32         }
33     }
34     printf("%d",ans);
35     return 0;
36 }

猜你喜欢

转载自www.cnblogs.com/rax-/p/9610843.html
今日推荐