HDU1009

来源:互联网 发布:mac 安装qq五笔输入法 编辑:程序博客网 时间:2024/05/18 02:19

HDU  1009

简单贪心 水题  可是都比的我却还是花了一段时间。。。

其实就是相当于每个房间的汇率不同 然后要求获得尽可能多的食物~~

#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++)//还要考虑到剩余的数量my..        {            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