题目地址:点击打开链接
贪心初解:
#include<stdio.h>
struct time{
int x,y;
}node[105];
main(){
int i,j,s,n,a,b;
while(scanf("%d",&n)&&n){
for(i=0;i<n;i++){
scanf("%d%d",&node[i].x,&node[i].y);
}
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(node[i].y>node[j].y){
a=node[i].x;b=node[i].y;
node[i].x=node[j].x;node[i].y=node[j].y;
node[j].x=a;node[j].y=b;
}
j=0;s=1;
for(i=1;i<n;i++){
if(node[i].x>=node[j].y){
s++;
j=i;
}
}
printf("%d\n",s);
}
}