****这是一个贪心题,把结束时间排个序,然后留出更多的时间给后面的活动。
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 }