zoukankan      html  css  js  c++  java
  • 营养膳食

    1175: (diet.in/.out) 营养膳食
    题目描述
    阿月正在女朋友宁宁的监督下完成自己的增肥计划。
    为了增肥, 阿月希望吃到更多的脂肪。 然而也不能只吃高脂肪食品, 那样的话就会导致缺
    少其他营养。 阿月通过研究发现: 真正的营养膳食规定某类食品不宜一次性吃超过若干份。
    比如就一顿饭来说, 肉类不宜吃超过 1 份, 鱼类不宜吃超过 1 份, 蛋类不宜吃超过 1 份, 蔬
    菜类不宜吃超过 2 份。 阿月想要在营养膳食的情况下吃到更多的脂肪, 当然阿月的食量也是
    有限的。
    输入
    输入第一行包含三个正整数 n( n≤200) ,m( m≤100) 和 k( k≤100) 。 表示阿月每顿饭最
    多可以吃 m 份食品, 同时有 n 种食品供阿月选择, 而这 n 种食品分为 k 类。 第二行包含 k 个
    不超过 10 的正整数, 表示可以吃 1 到 k 类食品的最大份数。 接下来 n 行每行包括 2 个正整数,
    分别表示该食品的脂肪指数 ai 和所属的类别 bi, 其中 ai≤100, bi≤k。
    输出
    输出一个数字即阿月可以吃到的最大脂肪指数和。
    样例输入
    6 6 3
    3 3 2
    15 1
    15 2
    10 2
    15 2
    10 2
    5 3

     1 #include<cstdio>
     2 #include<cmath>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 struct node
     7 {
     8    int x; //食品脂肪数
     9    int y;//食品类型
    10 }a[205];
    11 int cmp(node a,node b)
    12 {
    13    return a.x > b.x;
    14 }
    15 int main()
    16 {
    17    freopen("diet.in","r",stdin);
    18    freopen("diet.out","w",stdout);
    19    int i,m,j = 0,n,k,b[105],t = 0,z = 1;
    20    scanf("%d %d %d",&n,&m,&k);
    21    for(i = 1;i <= k;i++)
    22    {
    23       scanf("%d",&b[i]);       //该类型最多吃的数量
    24    }
    25    for(i = 1;i <= n;i++)
    26    {
    27       scanf("%d %d",&a[i].x,&a[i].y);
    28    }
    29    sort(a+1,a+n+1,cmp);
    30    while(z <= m)
    31    {
    32       j = j + 1;
    33       if(j > n)
    34       {
    35           break;
    36       }
    37       if(b[a[j].y] > 0)
    38       {
    39           z =  z + 1; //吃的数量
    40           t = t + a[j].x;
    41           b[a[j].y] = b[a[j].y] - 1;// b[a[j].y]该类型还能吃的数量
    42       }
    43    }
    44    printf("%d",t);
    45    return 0;
    46 }

    ***1.把所有的食材脂肪数排序

    2.在满足食品总数不超过要求的情况下进行判断

    3.在满足吃该类食品不超过要求的情况下吃

    4.再把满足要求的食品脂肪数相加。

  • 相关阅读:
    云server之间实时文件同步和文件备份的最简单高效的免费方案
    小程序 通过栈的方式把,上个返回过的页面数据传到当前页面
    mpvue 实例
    mpvue配合less
    java随笔5 完整路径的应用
    java随笔4 java中接参整形转字符串
    java随笔2 变量类定义
    java随笔1 常用快捷键 补全和补全提示等
    对象(针对对象)
    事务的2种简单实例
  • 原文地址:https://www.cnblogs.com/rax-/p/8594089.html
Copyright © 2011-2022 走看看