POJ 2376
Posted huluxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 2376相关的知识,希望对你有一定的参考价值。
1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 #include <cstring> 5 #include <algorithm> 6 #include <queue> 7 #include <stack> 8 #include <vector> 9 using namespace std; 10 struct node 11 { 12 int x,y; 13 }a[25010]; 14 bool cmp(const node &a,const node &b) 15 { 16 if(a.x==b.x) 17 return a.y>b.y; 18 return a.x<b.x; 19 } 20 int main(int argc, char *argv[]) 21 { 22 23 int n,t,sum=0,end; 24 scanf("%d%d",&n,&t); 25 for(int i=0;i<n;i++) 26 scanf("%d%d",&a[i].x,&a[i].y); 27 sort(a,a+n,cmp); 28 if(a[0].x!=1) 29 { 30 printf("-1 "); 31 return 0; 32 } 33 end=a[0].y; 34 sum++; 35 int ma=end; 36 int k=1; 37 int i; 38 while(end<t) 39 { 40 for(i=k;a[i].x<=end+1;i++) 41 if(a[i].y>ma) 42 ma=a[i].y; 43 44 if(ma==end) 45 { 46 printf("-1 "); 47 return 0; 48 } 49 sum++; 50 end=ma; 51 if(end==t) 52 break; 53 k=i; 54 if(k>=n) 55 break; 56 } 57 if(end==t) 58 printf("%d ",sum); 59 else 60 printf("-1 "); 61 return 0; 62 }#include <iostream> 63 #include <cstdio> 64 #include <cmath> 65 #include <cstring> 66 #include <algorithm> 67 #include <queue> 68 #include <stack> 69 #include <vector> 70 using namespace std; 71 struct node 72 { 73 int x,y; 74 }a[25010]; 75 bool cmp(const node &a,const node &b) 76 { 77 if(a.x==b.x) 78 return a.y>b.y; 79 return a.x<b.x; 80 } 81 int main(int argc, char *argv[]) 82 { 83 84 int n,t,sum=0,end; 85 scanf("%d%d",&n,&t); 86 for(int i=0;i<n;i++) 87 scanf("%d%d",&a[i].x,&a[i].y); 88 sort(a,a+n,cmp); 89 if(a[0].x!=1) 90 { 91 printf("-1 "); 92 return 0; 93 } 94 end=a[0].y; 95 sum++; 96 int ma=end; 97 int k=1; 98 int i; 99 while(end<t) 100 { 101 for(i=k;a[i].x<=end+1;i++) 102 if(a[i].y>ma) 103 ma=a[i].y; 104 105 if(ma==end) 106 { 107 printf("-1 "); 108 return 0; 109 } 110 sum++; 111 end=ma; 112 if(end==t) 113 break; 114 k=i; 115 if(k>=n) 116 break; 117 } 118 if(end==t) 119 printf("%d ",sum); 120 else 121 printf("-1 "); 122 return 0; 123 }
以上是关于POJ 2376的主要内容,如果未能解决你的问题,请参考以下文章