标签:
上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?
4 1 5 2 4 1 4 2 3 3 1 2 3 4
5 6 1 2 2
1 3 1
传送门:http://acm.nyist.net/JudgeOnline/problem.php?pid=891
1 #include<stdio.h>/*贪心策略*/ 2 #include<algorithm> 3 using namespace std; 4 typedef struct 5 { 6 int a;/*左右端点*/ 7 int b; 8 }region; 9 int cmp(region M1,region M2) 10 { 11 if(M1.b!=M2.b) 12 return M1.b<M2.b; 13 return M1.a>=M2.a; 14 } 15 int main() 16 { 17 int N; 18 while(scanf("%d",&N)==1) 19 { 20 int i,j,count=1,k; 21 region p[N]; 22 for(i=0;i<N;i++) 23 scanf("%d%d",&p[i].a,&p[i].b); 24 sort(p,p+N,cmp); 25 /* for(i=0;i<N;i++) 26 printf("%d %d\n",p[i].a,p[i].b);*/ 27 k=0; 28 for(i=1;i<N;i++) 29 { 30 if(p[i].a>p[k].b) 31 { 32 count++; 33 k=i; 34 continue; 35 } 36 37 } 38 printf("%d\n",count); 39 40 } 41 }
标签:
原文地址:http://www.cnblogs.com/a1225234/p/4486056.html