求调
查看原帖
求调
556181
__Emerald__楼主2024/5/19 09:04
#include <bits/stdc++.h>
using namespace std;
int n,a[105][105],dp[105][105],mx = INT_MIN;
int main(){
	cin >> n;
	for (int i = 1;i <= n;i++) for (int j = 1;j <= n;j++) cin >> a[i][j];
	dp[1][1] = a[1][1];
	for (int i = 2;i <= n;i++) dp[1][i] = dp[1][i - 1] + a[1][i];
	for (int i = 2;i <= n;i++) dp[i][1] = dp[i - 1][1] + a[i][1];
	for (int i = 2;i <= n;i++) for (int j = 2;j <= n;j++) dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1] + a[i][j];
	for (int i = 1;i <= n;i++) for (int j = 1;j <= n;j++) for (int x = i + 1;x <= n;x++) for (int y = j + 1;y <= n;y++) mx = max(mx,dp[x][y] - dp[i-1][y] - dp[x][j-1] + dp[i-1][j-1]);
	cout << mx;
	return 0;
}
2024/5/19 09:04
加载中...