zoukankan      html  css  js  c++  java
  • [恢]hdu 1009

    2011-12-16 14:17:21

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1009

    题意:老鼠拿了m克猫食换豆子。n个屋子,每个屋子有豆子j,猫食f。可以只换一部分。问最多能得到多少豆子。

    mark:简单贪心。

    代码:

    # include <stdio.h>
    # include <stdlib.h>


    typedef struct node{
    int j, f ;
    }node ;


    node a[1010] ;


    int cmp(const void *pp, const void *qq)
    {
    node *p = (node*)pp, *q = (node*)qq ;
    return q->j * p->f - p->j * q->f ;
    }


    int main ()
    {
    int j, f, n, m, i ;
    double sum ;
    while (~scanf ("%d%d", &m, &n))
    {
    if (n == -1&&m==-1) break ;
    for (i = 0 ; i < n ; i++)
    {
    scanf ("%d%d", &a[i].j, &a[i].f) ;
    j += a[i].j ;
    f += a[i].f ;
    }
    if (m >= f)
    {
    printf("%.3lf", (double)j) ;
    continue ;
    }
    qsort(a, n, sizeof(node), cmp) ;
    sum = 0 ;
    for (i = 0 ; i < n ;i++)
    {
    if (m < a[i].f){
    sum += 1.0*m/a[i].f * a[i].j ;
    break ;
    }
    sum += a[i].j ;
    m-=a[i].f ;
    }
    printf ("%.3lf\n", sum) ;
    }
    return 0 ;
    }



  • 相关阅读:
    php验证码
    php上传
    ajax的用法 资料
    ajax如何使用
    AJAX
    基础概念梳理 :
    ICompare 可比较接口
    强类型 和弱类型 c#
    .ne 基础(2)
    .net 基础(一)
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2315022.html
Copyright © 2011-2022 走看看