营养膳食

题目描述

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

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

原文地址:https://www.cnblogs.com/peppa/p/8586406.html

时间: 2024-10-08 13:34:50

营养膳食的相关文章

洛谷——P2095 营养膳食

题目描述 Mr.L正在完成自己的增肥计划. 为了增肥,Mr.L希望吃到更多的脂肪.然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养.Mr.L通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份.比如就一顿饭来说,肉类不宜吃超过1份,鱼类不宜吃超过1份,蛋类不宜吃超过1份,蔬菜类不宜吃超过2份.Mr.L想要在营养膳食的情况下吃到更多的脂肪,当然Mr.L的食量也是有限的. 输入输出格式 输入格式: 第一行包含三个正整数n(n≤200),m(m≤100)和k(k≤100).表示Mr.L

洛谷 P2095 营养膳食

洛谷 P2095 营养膳食 题目描述 Mr.L正在完成自己的增肥计划. 为了增肥,Mr.L希望吃到更多的脂肪.然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养.Mr.L通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份.比如就一顿饭来说,肉类不宜吃超过1份,鱼类不宜吃超过1份,蛋类不宜吃超过1份,蔬菜类不宜吃超过2份.Mr.L想要在营养膳食的情况下吃到更多的脂肪,当然Mr.L的食量也是有限的. 输入输出格式 输入格式: 第一行包含三个正整数n(n≤200),m(m≤100)和k

P2095 营养膳食

题目描述 Mr.L正在完成自己的增肥计划. 为了增肥,Mr.L希望吃到更多的脂肪.然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养.Mr.L通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份.比如就一顿饭来说,肉类不宜吃超过1份,鱼类不宜吃超过1份,蛋类不宜吃超过1份,蔬菜类不宜吃超过2份.Mr.L想要在营养膳食的情况下吃到更多的脂肪,当然Mr.L的食量也是有限的. 输入格式 第一行包含三个正整数n(n≤200),m(m≤100)和k(k≤100).表示Mr.L每顿饭最多可以吃

科学合理的营养膳食

一.重症型患者的营养治疗 重症型患者常伴有食欲下降,进食不足,使原本较弱的抵抗力更加“雪上加霜”,要重视危重症患者的营养治疗,为此提出序贯营养支持治疗原则: 1.少量多餐,每日6-7次利于吞咽和消化的流质食物,以蛋.大豆及其制品.奶及其制品.果汁.蔬菜汁.米粉等食材为主,注意补充足量优质蛋白质.病情逐渐缓解的过程中,可摄入半流质状态.易于咀嚼和消化的食物,随病情好转逐步向普通膳食过渡. 2.如食物未能达到营养需求,可在医生或者临床营养师指导下,正确使用肠内营养制剂(特殊医学用途配方食品).对于危

请快速扩散!雾霾口罩根本不能保命!

这两年雾霾爆发,中国成为最强造雾主,2013年中国拥有口罩大国之"美称",单年口罩销量暴增1297.641,国家声称治理雾霾最少需要三年,韩媒称雾霾源自中国,然而今年2015年已经第三年过去了,雾霾指数并未降低! 公众场所出现大批口罩党,大多数都是使用的碳素过滤口罩,但是最近专家指出,口罩根本防不住雾霾!!!据中国癌症基金会统计,我国每年癌症发病率每年以26.96增长,其中肺癌成为第一大癌,以每年500激速增长.既然口罩能防得住雾霾等空气污染,空气净化器能抵御家中空气不洁,为什么我们人

斯沃琪(SWQ)的吃货计划

斯沃琪(SWQ)的吃货计划 难度级别:A: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 SWQ正在完成自己的“尝遍世界的美食”(虽然她破产了,但还是可以从地上捡东西吃呀……真不卫生……)计划.  为了尝遍世界的美食,SWQ希望吃到更多的食物(食材).然而也不能只吃一种食品,那样的话就会导致缺少其他营养.SWQ通过自己专业当吃货11年的经验(几乎是一出生就开始吃……)发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份.比如就一顿饭来

三款新品亮相家博会,卡萨帝新理念获业界认同

3月11日,一年一度的家博会在上海开幕,今年的家博会吸引了国内家电企业的热情參与,而一些新品的亮相也让大家对家电行业的发展充满信心.值得一提的是.国内高端家电领军人物卡萨帝借助本次家博会公布了三款颠覆性新品,其创新理念不仅获得了业界的广泛认同,也预示着高端家电元年的开启. 本次家博会卡萨帝一共公布了三款颠覆性新品.各自是卡萨帝云珍冰箱.卡萨帝双子云裳洗衣机.卡萨帝云典厨电.接下来,我们最好还是看看这三款新品到底有何过人之处. 技术创新引领行业潮流 卡萨帝云珍冰箱主打"完美珍藏.爱由鲜生"

Timeline Style

from: https://freefrontend.com/css-timelines/ css: .demo{ background: #25303b; padding: 100px 0;} .heading-title { margin-bottom: 100px; color: #fff; } .main-timeline{ width: 80%; margin: 20px auto; position: relative; } .main-timeline:before{ conten

微信小程序 scroll-view 水平滚动使用

1. scroll-view水平滚动使用 1. wxml <scroll-view class="scroll-wrap" scroll-x> <view class="scroll-view-item"> <view class="scroll-img-wrap scroll-major-img-wrap"> <image src="../../images/[email protected]