zoukankan      html  css  js  c++  java
  • 1002. 二哥种花生

    Description

    二哥在自己的后花园里种了一些花生,也快到了收获的时候了。这片花生地是一个长度为L、宽度为W的矩形,每个单位面积上花生产量都是独立的。他想知道,对于某个指定的区域大小,在这么大的矩形区域内,花生的产量最大会是多少。

    Input Format

    第1行有2个整数,长度L和宽度W。

    第2行至第L+1行,每行有W个整数,分别表示对应的单位面积上的花生产量A( 0A<10

    )。

    第L+2行有2个整数,分别是指定的区域大小的长度a和宽度b。

    Output Format

    输出一个整数m,表示在指定大小的区域内,花生最大产量为m。

    Sample Input

    4 5
    1 2 3 4 5
    6 7 8 0 0
    0 9 2 2 3
    3 0 0 0 1
    3 3
    

    Sample Output

    38
    

    样例解释

    左上角:38 = (1+2+3) + (6+7+8) + (0+9+2)

     
    
    #include<iostream>
    using namespace std;
    
    int main(){
        int l,w,a,b;
        int t[1000][1000];
        cin>>l>>w;
        for(int i=0;i<l;i++){
            for(int j=0;j<w;j++){
                cin>>t[i][j];
            }
        }
        cin>>a>>b;
        int sum[1000][1000];
        sum[0][0]=t[0][0];
        for(int i=1;i<l;i++){
            sum[i][0]=sum[i-1][0]+t[i][0];
        }
        for(int j=1;j<w;j++){
            sum[0][j]=sum[0][j-1]+t[0][j];
        }
        for(int i=1;i<l;i++){
            for(int j=1;j<w;j++){
                sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+t[i][j];
            }
        }
        int temp=sum[a-1][b-1],max=sum[a-1][b-1];
        for(int i=a;i<l;i++){
            temp=sum[i][b-1]-sum[i-a][b-1];
            if(temp>max){
                max=temp;
            }
        }
        for(int j=b;j<w;j++){
            temp=sum[a-1][j]-sum[a-1][j-b];
            if(temp>max){
                max=temp;
            }
        }
        for(int i=a;i<l;i++){
            for(int j=b;j<w;j++){
                temp=sum[i][j]-sum[i][j-b]-sum[i-a][j]+sum[i-a][j-b];
                if(temp>max){
                    max=temp;
                }
            }
        }
        cout<<max;
        return 0;
    }

    使用前缀和的方法,关于边界处理用了最笨的方法,程序极其啰嗦。。。。

  • 相关阅读:
    建立十字链表
    KMP算法
    魔术师发牌问题(循环链表)
    约瑟夫问题(循环链表)
    中缀表达式 转 (逆)波兰表达式
    中缀表达式求值
    迷宫问题(回溯法)
    范数
    AUC
    概率论
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/7777109.html
Copyright © 2011-2022 走看看