12 1 3 3 4 0 7 3 8 15 19 15 20 10 15 8 18 6 12 5 10 4 14 2 9 0Sample Output5#include<stdio.h> main() { int a[101][2],b[100],j,i,m,t,v,n,s; while(scanf("%d",&n)!=EOF) { if(n==0)break; a[0][0]=0; a[0][1]=0; j=0; v=1; for(i=1;i<n+1;i++) { scanf("%d %d",&a[i][0],&a[i][1]); } t=0; while(v) { v=0; for(i=1;i<=n;i++) { if(a[i][1]>a[t][1]) { b[i]=a[i][1]-a[t][1]; } else b[i]=32767; } m=32767; for(i=1;i<=n;i++) { if(b[i]<=m&&a[t][1]<=a[i][0]) { m=b[i]; s=i; v=1; } } j++; t=s; } printf("%d\n",j-1); } }
原文:http://blog.csdn.net/fanerxiaoqinnian/article/details/23611755