您的位置:首页 > 编程语言

POJ1050 To the Max 题解&代码

2016-01-07 20:31 267 查看
DP= =加上前缀和优化

#include<iostream>
#include<stdio.h>
using namespace std;
int n,ans,sum,a[105][105],s[105][105];
int main(void)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
s[i][j]=s[i][j-1]+a[i][j];
}
for(int i=0;i<n;i++)
for(int j=i+1;j<=n;j++)
{
sum=0;
for(int k=1;k<=n;k++)
{
sum+=s[k][j]-s[k][i];
if(sum<0)sum=0;
ans=max(ans,sum);
}
}
printf("%d\n",ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: