POJ 2726
1 #include <iostream> 2 #include <algorithm> 3 #define MAXN 10005 4 5 using namespace std; 6 7 struct node 8 { 9 int a; 10 int b; 11 }; 12 //node _node[MAXN]; 13 bool op(node _a,node _b); 14 node _n_1[MAXN]; 15 node _n_2[MAXN]; 16 int main() 17 { 18 // freopen("acm.acm","r",stdin); 19 int n; 20 int i; 21 int j; 22 int ans; 23 int index_1; 24 int index_2; 25 int cur; 26 while(cin>>n,n) 27 { 28 index_1 = 0; 29 index_2 = 0; 30 ans = 0; 31 cur = -1; 32 for(i = 0; i < n; ++ i) 33 { 34 int a; 35 int b; 36 scanf("%d",&a); 37 scanf("%d",&b); 38 // if(a >= b) 39 // { 40 _n_1[index_1].a = a; 41 _n_1[index_1].b = b; 42 ++ index_1; 43 // } 44 // else 45 // { 46 // _n_2[index_2].a = a; 47 // _n_2[index_2].b = b; 48 // ++ index_2; 49 // } 50 } 51 sort(_n_1,_n_1+index_1,op); 52 // sort(_n_2,_n_2+index_2,op); 53 // for(i = 0; i < index_1; ++ i) 54 // { 55 // cout<<_n_1[i].a<<" "<<_n_1[i].b<<endl; 56 //} 57 if(index_1 > 0) 58 { 59 ++ ans; 60 cur = _n_1[0].a; 61 } 62 for(i = 1; i < index_1; ++ i) 63 { 64 if(_n_1[i].a < cur) 65 { 66 ++ ans; 67 cur = _n_1[i].a; 68 } 69 } 70 71 cout<<ans<<endl; 72 } 73 } 74 75 bool op(node _a,node _b) 76 { 77 if(_a.b == _b.b) 78 { 79 return _a.a < _b.a; 80 } 81 return _a.b < _b.b; 82 }