• 营养膳食


    【题目描述】
    阿月正在女朋友宁宁的监督下完成自己的增肥计划。
    为了增肥,阿月希望吃到更多的脂肪。然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养。阿月通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份。比如就一顿饭来说,肉类不宜吃超过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

    【样例输出】
    60

    当初我第一次看到这道题的时候,以为是一个分组背包。然后我去洛谷搜了一下,看到的是普及+,顿时整个人就不好了,然后就花了整整半分钟思考了一下,发现就是一个贪心。

    贪心取价值最大的,直到取到 m 份或是所有给的都去完了。

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 using namespace std;
     7 
     8 #define rep(i ,a, n) for(int i = a; i <= n; ++i)
     9 #define per(i, n, a) for(int i = n; i >= a; --i)
    10 typedef long long ll;
    11 const int maxn = 1e3 + 5;
    12 
    13 struct Node
    14 {
    15     int fat, num;
    16     bool operator < (const Node& other)const
    17     {
    18         return fat > other.fat;
    19     }
    20 }a[maxn];
    21 int n, m, k, maxnum[maxn];
    22 int ans = 0, tot = 0;
    23 
    24 int main()
    25 {
    26     freopen("diet.in", "r", stdin);
    27     freopen("diet.out", "w", stdout);
    28     scanf("%d%d%d", &n, &m, &k);
    29     rep(i, 1, k) scanf("%d", &maxnum[i]);
    30     rep(i, 1, n) scanf("%d%d", &a[i].fat, &a[i].num);
    31     sort(a + 1, a + n + 1);
    32     rep(i, 1, n)
    33     {
    34         if(tot >= m) break;
    35         if(maxnum[a[i].num] > 0) {maxnum[a[i].num]--; tot++; ans += a[i].fat;}
    36     }
    37     printf("%d
    ", ans);
    38 }
  • 相关阅读:
    Hadoop常用命令介绍
    hadoop异常: java.io.EOFException: Unexpected end of input stream
    Python操作MySQL
    Python常用模块安装
    pyenv激活虚拟环境失败
    Jarvis OJ A Piece Of Cake
    JarvisOJ BASIC 德军的密码
    JarvisOJ BASIC -.-字符串
    HDU 1003 Max Sum
    洛谷 P2119 魔法阵
  • 原文地址:https://www.cnblogs.com/mrclr/p/8584146.html
走看看 - 开发者的网上家园