标签:
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 15143 | Accepted: 3875 |
Description
Input
Output
Sample Input
3 10 1 7 3 6 6 10
Sample Output
2
区间覆盖问题,贪心
1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 #include <cstdio> 5 using namespace std; 6 struct node 7 { 8 int x,y; 9 }cow[25000+5]; 10 int cmp(node a,node b) 11 { 12 if(a.x==b.x) return a.y>=b.y; 13 return a.x<b.x; 14 } 15 int main() 16 { 17 int T,N; 18 int i,j; 19 freopen("in.txt","r",stdin); 20 while(scanf("%d%d",&N,&T)!=EOF) 21 { 22 for(i=0;i<N;i++) 23 scanf("%d%d",&cow[i].x,&cow[i].y); 24 sort(cow,cow+N,cmp); 25 int c=0,coun=1,j; 26 bool ans=1; 27 if(cow[0].x>1) 28 { 29 printf("-1\n"); 30 continue; 31 } 32 int t=cow[0].y+1; 33 while(t<=T) 34 { 35 int MaxLen=t; 36 bool flag=0; 37 int k=c; 38 for(j=c+1;cow[j].x<=t&j<N;j++) 39 { 40 41 if(cow[j].y>=MaxLen) 42 { 43 k=j; 44 MaxLen=cow[j].y; 45 flag=1; 46 } 47 } 48 if(flag==0) 49 { 50 ans=0; 51 break; 52 } 53 c=k; 54 t=MaxLen+1; 55 coun++; 56 } 57 if(ans==0) {printf("-1\n");continue;} 58 printf("%d\n",coun); 59 } 60 }
标签:
原文地址:http://www.cnblogs.com/a1225234/p/5164726.html