【HNUST】遍地橘子
浏览 582 | 评论 0 | 字数 2040
TTQ
2020年02月09日
  • 原题题号:1638
    • 题目描述
    为了实验室的发展,队长决定在实验室外面的空地种桔子树。空地划分为N×M个格子,每个格子为1×1,队长买了N×M棵树苗。买树苗的时候,老板免费赠送了K袋肥料,这些肥料非常强力,可以使施肥格子和前后左右四个相邻格子(如果存在的话)中的桔子树产量加1。队长表示还想买肥料,但是队长很穷,买不起更多的肥料。每个格子都只能种一棵桔子树,每棵桔子树原来的产量是1,并且每个格子只能施肥一次。现在问题是求施加肥料后所有桔子树的最大总产量。
    • 输入
    先输入一个T(T<=1000),表示数据组数。 每组数据输入3个整数N,M,K(1 <= N,M <= 20,0 <= K <=
    1000),N和M表示空地的长宽,K表示肥料的袋数。
    • 输出
    每一组数据输出一行,包含一个整数,表示所有桔子树的最大产量。
    • 样例输入
    2
    2 3 3
    5 2 0
    • 样例输出
    17
    10

    这题一开始我以为肥料作用的十字范围的土地都算施肥,想了好久想不出咋办,结果灰光同学告诉我只有施肥的土地才算施过肥,十字影响范围内的土地不算施肥。。。因此这题就简单了。
    说白了,这题就是数格子,最先对中间的格子施肥(每施肥一次产量+5),其次对四周(不含四角,每施肥一次产量+4),最后对四角施肥(每施肥一次产量+3),但要注意,可能存在长或宽只有2的情况,也就是没有中间的格子,不存在+5的情况,还有可能出现长或宽只有1的情况,也有22格子,11格子的情况,可以特判处理一下即可,此题难度不大,代码如下:

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int main()
    {
        int T,m,n,k,sum;
        cin>>T;
        for (int i = 1; i <= T;i++)
        {
            cin>>m>>n>>k;
            sum=m*n;
            if(n>=2&&m>=2)
            {
                if(k<=(n-2)*(m-2))
                    sum=sum+5*k;
                else if(k<=m*n-4)
                    sum=sum+(5*(n-2)*(m-2))+4*(k-(n-2)*(m-2));
                else if(k<=m*n)
                    sum=sum+(5*(n-2)*(m-2))+4*(2*m+2*n-8)+3*(k-(m*n-4));
                else
                    sum=sum+5*(n-2)*(m-2)+4*(2*m+2*n-8)+12;
            }
            else
            {
                if(m==1&&n==1)
                {
                    if(k!=0)
                        sum++;
                }
                else
                {
                    if(m==1) swap(m,n);
                    if(k<=m-2)
                        sum+=3*k;
                    else if(k<=m)
                        sum+=3*(m-2)+2*(k-m+2);
                    else
                        sum=sum+3*(m-2)+4;
                }
            }
            cout<<sum<<endl;
        }
        //system("pause");
        return 0;
    }
    
    
    
    本文作者:TTQ
    本文链接:https://blog.ponder.fun/archives/12.html
    最后修改时间:2020-02-09 10:12:49
    本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
    评论
    与本文无关评论请发留言板。请不要水评论,谢谢。
    textsms
    支持 Markdown 语法
    email
    link
    评论列表
    暂无评论