1/**************************************
2Problem: HEU 5039 Move Woods
3Time: 0.0050 s
4Memory: 240 k
5Accepted Time: 2009-03-31 11:33:12
6Tips: 两个关键字排序
7**************************************/
8#include <stdio.h>
9int main()
10{
11 int tt;
12 scanf("%d",&tt);
13 while(tt--)
14 {
15 int n,i,j,k,a[300],b[300],c[300],temp,sum=0;
16 scanf("%d",&n);
17 if(n==0){printf("0\n");continue;}
18 for(i=0;i<n;i++)
19 {
20 scanf("%d%d",&a[i],&b[i]);
21 c[i]=0;
22 }
23 for(i=0;i<n-1;i++)
24 {
25 for(j=n-1;j>i;j--)
26 {
27 if(a[j]<a[j-1])
28 {
29 temp=a[j];
30 a[j]=a[j-1];
31 a[j-1]=temp;
32 temp=b[j];
33 b[j]=b[j-1];
34 b[j-1]=temp;
35 }
36 else if(a[j]==a[j-1]&&b[j]<b[j-1])
37 {
38 temp=b[j];
39 b[j]=b[j-1];
40 b[j-1]=temp;
41 }
42 }
43 }
44 for(i=0;i<n;i++)
45 {
46 if(c[i]==0)
47 {
48 k=b[i];
49 c[i]=1;
50 for(j=i+1;j<n;j++)
51 {
52 if(c[j]==0&&k<=b[j])
53 {
54 k=b[j];
55 c[j]=1;
56 }
57 }
58 sum++;
59 }
60 }
61 printf("%d\n",sum);
62 }
63 return 0;
64}
65
2Problem: HEU 5039 Move Woods
3Time: 0.0050 s
4Memory: 240 k
5Accepted Time: 2009-03-31 11:33:12
6Tips: 两个关键字排序
7**************************************/
8#include <stdio.h>
9int main()
10{
11 int tt;
12 scanf("%d",&tt);
13 while(tt--)
14 {
15 int n,i,j,k,a[300],b[300],c[300],temp,sum=0;
16 scanf("%d",&n);
17 if(n==0){printf("0\n");continue;}
18 for(i=0;i<n;i++)
19 {
20 scanf("%d%d",&a[i],&b[i]);
21 c[i]=0;
22 }
23 for(i=0;i<n-1;i++)
24 {
25 for(j=n-1;j>i;j--)
26 {
27 if(a[j]<a[j-1])
28 {
29 temp=a[j];
30 a[j]=a[j-1];
31 a[j-1]=temp;
32 temp=b[j];
33 b[j]=b[j-1];
34 b[j-1]=temp;
35 }
36 else if(a[j]==a[j-1]&&b[j]<b[j-1])
37 {
38 temp=b[j];
39 b[j]=b[j-1];
40 b[j-1]=temp;
41 }
42 }
43 }
44 for(i=0;i<n;i++)
45 {
46 if(c[i]==0)
47 {
48 k=b[i];
49 c[i]=1;
50 for(j=i+1;j<n;j++)
51 {
52 if(c[j]==0&&k<=b[j])
53 {
54 k=b[j];
55 c[j]=1;
56 }
57 }
58 sum++;
59 }
60 }
61 printf("%d\n",sum);
62 }
63 return 0;
64}
65