{zd0}子矩阵和_runner_y_新浪博客
#include<iostream>
using namespace std;

int a[128][128];
int b[128];
int dp[128];
int main()
{
    int n;
    cin>>n;
    while(n)
    {
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                cin>>a[i][j];
                a[i][j]+=a[i-1][j];
            }
        }
        int max=-99999;
        for(int i=0;i<=n;i++)
        {
            for(int j=i+1;j<=n;j++)
            {
                for(int t=0;t<=n;t++)
                    b[t]=a[j][t]-a[i][t];
                dp[0]=0;
                for(int t=1;t<=n;t++)
                {
                    if(dp[t-1]<0)
                        dp[t]=b[t];
                    else
                        dp[t]=dp[t-1]+b[t];        
                }
                for(int t=0;t<=n;t++)
                    if(max<dp[t])
                        max=dp[t];
            }
        }
        cout<<max<<endl;
        cin>>n;
    }
    return 0;
}

已投稿到:
郑重声明:资讯 【{zd0}子矩阵和_runner_y_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——