• 营养膳食


    题目描述

    乔治正在完成自己的增肥计划。

    为了增肥,乔治希望吃到更多的脂肪。然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养。乔治通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份。比如就一顿饭来说,肉类不宜吃超过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。

    输出格式:

    包括一个数字即乔治可以吃到的最大脂肪指数和。

    输入输出样例

    输入样例#1: 复制
    6 6 3
    3 3 2
    15 1
    15 2
    10 2
    15 2
    10 2
    5 3
    输出样例#1: 复制
    60
    【胡乱分析】

    做这道题的时候,我考虑了以下3个方面:1、每类食品能吃的最大份数,2、一共能吃多少份食品,3、如何才能吃到最多的脂肪
    首先解决第3个方面,定义一个结构体,来存储每个食物的脂肪和类别。然后对结构体按照脂肪由高到低进行排序。然后第2个问
    题就比较好办了。每吃完某种类型的食品,对应的食品份数就-1(为什么不设置那个以那个类别为下标为0,每吃完一份就+1呢,因为
    我一开始这么做的但好像有错误),此处可以加个特判,份数减到0了就不能吃了。然后第一个问题更好办了。每吃完一份管他是哪一类
    的食品就加1,要是与总份数相等了就break,就可以得到正解了。
    我考试时写的代码有一个变量定义错了,却出乎意料的得了80,,,然后把那个变量改过来测了一下就AC了。。233
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<cstring>
    #include<iostream>
    using namespace std;
    struct node
    {
        int ai,bi;
    }t[105];
    bool cmp(node a,node b)
    {
        return a.ai >= b.ai;
    }
    int main()
    {
        //freopen("diet.in","r",stdin);
        //freopen("diet.out","w",stdout);
        int n,m,k,i,j,a[100],summ = 0,sumans = 0;
        scanf("%d%d%d",&n,&m,&k);
        for(i = 1;i <= k;i++)
            scanf("%d",&a[i]);
        for(i = 1;i <= n;i++)
            scanf("%d%d",&t[i].ai,&t[i].bi);
        sort(t+1,t+n+1,cmp);
        for(i = 1;i <= n;i++)
        {
            if(summ == m)break;
            if(a[t[i].bi] != 0)
            {
                sumans+=t[i].ai;
                a[t[i].bi]--;
                summ++;
            }
        }
        printf("%d",sumans);
        return 0;
    }
  • 相关阅读:
    《jmeter:菜鸟入门到进阶系列》
    Jmeter下载时Binaries和Source两类包的区别
    MySQL5.7 四种日志文件
    Windows下配置nginx+php(wnmp)
    回望2018,计划2019
    C# 单元测试(入门)
    C# 中out,ref,params参数的使用
    C# 程序运行中的流程控制
    Nacos(五):多环境下如何“读取”Nacos中相应的配置
    Nacos(四):SpringCloud项目中接入Nacos作为配置中心
  • 原文地址:https://www.cnblogs.com/peppa/p/8586406.html
Copyright © 2020-2023  润新知