hdu 1009 FatMouse' Trade

来源:互联网 发布:本地网络ip地址 编辑:程序博客网 时间:2024/04/27 20:36

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1009


贪心类水题。

直接按交换单价排序就可以。


下面是AC代码:

#include<iostream>using namespace std;typedef struct{double j,f;double k;}cat;cat a[10002];int cmp(const void *a,const void *b){return (*(cat*)a).k<(*(cat*)b).k?1:-1;}int main(){int i;double m,n;while(scanf("%lf%lf",&m,&n),n!=-1||m!=-1){for(i=0;i<n;i++){scanf("%lf%lf",&a[i].j,&a[i].f);a[i].k=(a[i].j*1.0)/a[i].f;}qsort(a,n,sizeof(a[0]),cmp);double sum=0;i=0;while(i<n){if(m>=a[i].f){sum+=a[i].j;m=m-a[i].f;i++;}else{sum+=m*1.0*a[i].k;break;}}printf("%.3lf\n",sum);}return 0;}


原创粉丝点击