zoukankan      html  css  js  c++  java
  • POJ 1050 To the Max

    //此题又是DP,我是看了结题报告才想出来的。。。。。。。。。。。。
    //苦想了好长时间,就是一层纸捅不破,原来那就
    //是应该加一个二维数组记录每行的前i个值得和
    //说白了就是记录一下状态,因为题意是一个二维矩阵
    //和得优化,所以一维的状态时不能够满足的,看来DP还是没
    //理解透彻

    #include<iostream>
    using namespace std;

    int main()
    {
        
    int  a[110][110],i,j,k,sum,max=-10000,s[110][110];
        
    int n,temp;
        
    while(scanf("%d",&n)!=EOF)
        {
            memset(s,
    0,sizeof(s[0][0]));
            
    for(i=0;i<n;++i)
                
    for(j=1;j<=n;++j)
                {
                    scanf(
    "%d",&a[i][j-1]);
                    s[i][j]
    =s[i][j-1]+a[i][j-1];
                }
            
    for(i=0;i<n;++i)
                
    for(j=i;j<n;++j)
                {
                    sum
    =0;
                    
    for(k=0;k<n;++k)
                    {
                        temp
    =s[k][j]-s[k][i];
                        sum
    +=temp;
                        
    if(sum<0) sum=0;
                        
    else if(sum>max)
                            max
    =sum;
                    }
                }
            printf(
    "%d\n",max);
        }
        
    return 1;
    }


     

  • 相关阅读:
    链串
    一个外行谈行业应用的营销问题
    SharePoint 2013的100个新功能之场管理
    Deep Learning and Shallow Learning
    [IOS]UIWebView 请求网络页面或者加载本地资源页面
    九度OJ 打印日期 (模拟)
    STM32学习之路-SysTick的应用(时间延迟)
    box-shadow
    让算法会说话之高速排序
    A5-1和DES两个加密算法的学习
  • 原文地址:https://www.cnblogs.com/lvpengms/p/1662766.html
Copyright © 2011-2022 走看看