hdoj-2037-今年暑假不AC

 1 /*#include<stdio.h>
 2 #include<iostream>
 3 using namespace std;
 4 #include<algorithm>
 5 struct p
 6 {
 7     int x;
 8     int y;
 9 }a[101],b[101];//b是储存看的节目
10 int cmp(const void *a,const void *b)//排序
11 {
12     struct p *c=(struct p *)a;
13     struct p *d=(struct p *)b;
14     if(c->x!=d->x)
15         return c->x-d->x;
16     else
17         return c->y-d->y;
18 }
19 int main()
20 {
21     int i,n,point;
22     while(cin>>n)
23     {
24         point=0;
25         if(n==0)
26             break;
27         for(i=1;i<=n;i++)
28             cin>>a[i].x>>a[i].y;
29         qsort(a+1,n,sizeof(a[1]),cmp);
30         for(i=1;i<=n;i++)
31         {
32             if(point==0)
33                 b[++point]=a[i];
34             else
35             {
36                     if(b[point].y<=a[i].x)
37                     {
38                         b[++point]=a[i];//增加节目
39                     }
40                     else if(b[point].y>a[i].y)
41                     {
42                         b[point]=a[i];//更新节目
43                     }
44             }
45         }
46         for(i=1;i<=n;i++)
47         printf("11. %d %d\n",a[i].x,a[i].y);
48         for(i=1;i<=point;i++)
49         printf("12. %d %d\n",b[i].x,b[i].y);
50 
51     }
52     return 0;
53 }*/
54 #include<stdio.h>
55 #include<algorithm>
56 using namespace std;
57 struct p
58 {
59     int x;
60     int y;
61 }a[110],b[110];
62 bool cmp(p a,p b)//排序
63 {
64     if(a.x!=b.x)
65         return a.x<b.x;
66     else
67         return a.y<b.y;
68 }
69 int main()
70 {
71     int n,i,j;
72     while(scanf("%d",&n),n)
73     {
74         for(i=1;i<=n;i++)
75         scanf("%d%d",&a[i].x,&a[i].y);
76         //qsort(a+1,n,sizeof(a[1]),cmp);
77         sort(a+1,a+n+1,cmp);
78         //for(i=1;i<=n;i++)
79         //printf("  %d %d\n",a[i].x,a[i].y);
80         int flag=0;
81         for(i=1;i<=n;i++)
82         {
83             if(flag==0)
84                 b[++flag]=a[i];
85             else
86             {
87                 if(a[i].x>=b[flag].y)//加新节目
88                     b[++flag]=a[i];
89                 else if(a[i].y<b[flag].y)//更新新节目
90                     b[flag]=a[i];
91             }
92         }
93         printf("%d\n",flag);
94     }
95     return 0;
96 }

 

posted @ 2013-06-10 13:34  nylg-haozi  阅读(207)  评论(0)    收藏  举报