hdu 2037

时间:2023-10-11 12:56:32

PS:   - -原本想的是排序开始时间和消耗时间。。后来想到可以排序结束时间..后来还wa了一次,因为排序的时候溢出了

思路:

1 3 //1
3 4 //2
0 7
3 8
2 9
5 10 //3
6 12
4 14
8 18
10 15  //4
15 19 //5
15 20

代码:#include "stdio.h"
struct time1{
 int x,y;
}ti[110];
void comp(int n){
 int i,j;
 time1 t;
 for(i=0;i<n;i++){
  for(j=0;j<n-i-1;j++){
   if(ti[j].y>ti[j+1].y){
    t=ti[j];
    ti[j]=ti[j+1];
    ti[j+1]=t;
   }
  }
 }
}
int main(){
 int n,i,k,num;
 while(~scanf("%d",&n) && n){
  for(i=0;i<n;i++){
   scanf("%d%d",&ti[i].x,&ti[i].y);
  }
  comp(n);
  num=1;
  k=ti[0].y;
  for(i=1;i<n;i++){
      if(k<=ti[i].x){
       num++;
       k=ti[i].y;
      } 
  }
     printf("%d\n",num);
 }
 return 0;
}