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;
}