现在的位置: 首页 > 综合 > 正文

杭电1009 FatMouse’ Trade

2012年01月24日 ⁄ 综合 ⁄ 共 1032字 ⁄ 字号 评论关闭

/********************************
 *    日期:2011-2-7
 *    作者:SJF
 *    题号:杭电1009
 *  题目:FatMouse' Trade
 *    结果:AC
 ********************************/
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
    int J;
    int F;
    double ratio;
}Food;
int cmp(const void*a,const void *b)
{
    return (*(Food *)a).ratio > (*(Food *)b).ratio ? 1 : -1;

}
int main()
{
    int M,N;
    Food* food;
    while(scanf("%d%d",&M,&N)!=EOF)
    {
        int i,j;
        double JavaBeans=0;
        if((M==-1)&&(N==-1))
        {
            return 0;
        }
        food=(Food*)malloc(sizeof(food[0])*N);
        for(i=0;i<N;i++)
        {
            scanf("%d%d",&food[i].J,&food[i].F);
            food[i].ratio=(food[i].J*1.0)/food[i].F;
        }
        qsort(food,N,sizeof(food[0]),cmp);
        for(i=N-1;i>=0;i--)
        {
            if(M>=food[i].F)
            {
                JavaBeans=food[i].J+JavaBeans;
                M=M-food[i].F;
            }
            else
            {
                JavaBeans=JavaBeans+food[i].ratio*M;
                break;
            }
        }
        printf("%.3lf\n",JavaBeans);
    }
    return 0;
}

 

抱歉!评论已关闭.