HDU 1009

来源:互联网 发布:linux更改文件权限例子 编辑:程序博客网 时间:2024/05/16 21:38

刚刚还发错地方了。。

HDU1009 贪心水题 可是都比的我还是做了一段时间。。。

其实就是每一个房间的汇率不同 然后你要用你有的东西换得最多的你爱的食物。。

#include<stdio.h>#include<iostream>#include<string.h>#include<algorithm>const int maxn=1005;using namespace std;struct Node{    double j,k,l;};bool cmp(Node x,Node y){    if (x.l>=y.l)    return 1;    else return 0;}Node a[maxn];int main(){    double my;    int n,i;    while(scanf("%lf%d",&my,&n)!=EOF)    {        if(my==-1&&n==-1)            break;        for(i=0; i<n; i++)        {            scanf("%lf%lf",&a[i].j,&a[i].k);            a[i].l=a[i].j/a[i].k;        }        sort(a,a+n,cmp);        double sum=0;        for(i=0; i<n&&my; i++)        {            if(my>=a[i].k)            {                my=my-a[i].k;                sum+=a[i].j;            }            else            {                sum+=my*a[i].l;                my=0;                }        }        printf("%.3lf\n",sum);    }    return 0;}


0 0