zoukankan      html  css  js  c++  java
  • 芜湖市2018市队选拔Day2T1

    好激动啊,Day2竟然AK了!

    Day2T1养宠物

    Description
    badgers是可爱的动物,Smart想拥有一些。宠物店提供N个badgers,编号为1..N,Smart都很喜欢,所以他想拥有得越多越好。初始,每个badger每天需要固定量的食物。但是,如果它看见别的badger也在吃东西,它会觉得饥饿而吃更多的东西。一个badger每多一个同食者需要增加一个固定量的食物。
    h[i]表示第i个badger单独进食所需要的食物。g[i]表示第i个badger在每多一个同食者的情况下增加的食物量。Smart每天最多可以供应totalFood量的食物,那么他最多可以养多少只badgers。
    注意:Smart是把badgers放在一起养,所以每一只badger都能看到其他badger吃东西。


    Input
    第一行两个整数N和totalFood。
    第二行N个整数,第i个为h[i]。
    第三行N个整数,第i个为g[i]。


    Output
    一个整数,表示Smart最多可以养多少只badgers。

    Sample Input
    #1
    3 7
    1 2 3
    2 2 1

    #2
    4 19
    5 2 1 5
    0 2 4 1

    Sample Output
    #12

    #2
    3
    Hint

    30%的数据:N≤10;
    100%的数据:1≤N≤50,1≤h[i]≤1000,0≤g[i]≤1000,1≤totalFood≤1000000。


    【题解】
        这题首先想到的是暴力。
        打一张表出来,其中f[i][j]是第i个动物在和j个人供餐时的食量。

        将数量从高到低枚举,按照当前数量i的饭量排升序之后选前i个。看看是否小于等于totalFood。如果是,输出并退出,否则继续枚举下一个时间。

    【源代码】

     1 #include <cstdio>
     2 #include <algorithm>
     3 using namespace std;
     4 const int S=57;
     5 int n,m,s;
     6 struct info
     7 {
     8 int h,g;
     9 }a[S];
    10 bool cmp(info a,info b)
    11 {
    12     return a.h<b.h;
    13 }
    14 int main()
    15 {
    16     scanf("%d%d",&n,&m);
    17     for (int i=1;i<=n;i++)
    18     scanf("%d",&a[i].h);
    19     for (int i=1;i<=n;i++)
    20     {
    21         scanf("%d",&a[i].g);
    22         a[i].h+=a[i].g*(n-1);
    23     }
    24     for (int i=n;i;i--)
    25     {
    26         sort(a+1,a+1+n,cmp);s=0;
    27         for (int j=1;j<=i;j++)
    28         s+=a[j].h;
    29         if (s<=m)
    30         {
    31             printf("%d",i);
    32             return 0;
    33         }
    34         for (int j=1;j<=n;j++)
    35         a[j].h-=a[j].g;
    36     }
    37     puts("0");
    38     return 0;
    39 }

     (20180325)

  • 相关阅读:
    【JavaScript】JavaScript学习 四 JavaScript 语句
    【Javascript】javascript学习 十二 JavaScript 函数
    【Javascript】javascript学习 六 七 JavaScript 变量/运算符
    【JavaScript】JavaScript学习 三 把 JavaScript 放置到何处
    【Javascript】javascript学习 十四 JavaScript Break 和 Continue
    【Javascript】javascript学习 十 JavaScript 消息框
    如何查询数据库的主键约束schema?
    无限级下拉列表的无限级分级[asp.net](转)
    结构体
    对typedef的了解
  • 原文地址:https://www.cnblogs.com/Algebra-hy/p/10376420.html
Copyright © 2011-2022 走看看