杭电ACM FatMouse' Trade算法题
1个回答

#include

int main(){

int m,i,j,k;

double rate,sum,ji,fi,t,n; // double型数据

while(scanf("%lf%d",&n,&m)!=EOF&&n+1||m+1){// 一直读到文件为用EOF

k=3*m,sum=0;

double a[k];// double型数据

for(i=0;i

scanf("%lf%lf",&ji,&fi);

rate=ji/fi;

a[i]=rate,a[i+1]=ji,a[i+2]=fi;

}

for(i=0;i

for(j=i+3;j

if(a[i]

t=a[i],a[i]=a[j],a[j]=t;

t=a[i+1],a[i+1]=a[j+1],a[j+1]=t;

t=a[i+2],a[i+2]=a[j+2],a[j+2]=t;

}

//for(i=0;i

//printf("%.2f ",a[i]);

for(i=0;i

if(a[i+2]<=n)sum+=a[i+1],n-=a[i+2];

else{ sum+=n*a[i];break;}

}

printf("%.3fn",sum);

}

}