萌新才学c++大水题求条(玄关一个
  • 板块灌水区
  • 楼主BK小鹿
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/5/1 15:27
  • 上次更新2024/5/1 19:23:10
查看原帖
萌新才学c++大水题求条(玄关一个
1345783
BK小鹿楼主2024/5/1 15:27

rt,萌新不知道哪里错了,求大佬帮助

题目:

111

WA Code

#include <iostream>
#include <cstdio>

using namespace std;

const int N = 305;

int n;
int a[N][N], sum[N][N], t[N], f[N];

void read()
{
	scanf("%d", &n);
	for (int i = 1; i <= n; i ++ )
	  for (int j = 1; j <= n; j ++ )
	    scanf("%d", &a[i][j]);
	for (int i = 1; i <= n; i ++ )
	  for (int j = 1; j <= n; j ++ )
	    sum[i][j] = sum[i][j - 1] + sum[i - 1][j] - sum[i - 1][j - 1] + a[i][j];	
}

void solve()
{
	int res = -114514;
	for (int i = 1; i <= n; i ++ )
	  for (int j = i; j <= n; j ++ )
	  {
	  	for (int k = 1; k <= n; k ++ )  t[k] = sum[j][k] - sum[i - 1][k];
	  	f[1] = t[1];
	  	for (int k = 2; k <= n; k ++ )  f[k] = max(f[k - 1] + t[i], t[i]);
	  	int cnt = f[1];
	  	for (int k = 1; k <= n; k ++ )  cnt = max(cnt, f[k]);
	  	res = max(cnt, res);
	  }
	printf("%d\n", res);
}

int main()
{
	read();
    solve();
    return 0;
}
2024/5/1 15:27
加载中...