啊啊啊啊啊
  • 板块学术版
  • 楼主Cirno_cryofule
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/4/4 10:03
  • 上次更新2024/4/4 13:30:27
查看原帖
啊啊啊啊啊
1154007
Cirno_cryofule楼主2024/4/4 10:03

这个代码怎么输入一行就返回啊啊啊

#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> v;
int n;
int maxSubmatrix(const vector<vector<int>>& matrix) {
    int m = matrix.size(), n = matrix[0].size();
    vector<vector<int>> sums(m, vector<int>(n, 0));
    int maxSum = INT_MIN;
 
    for (int i = 0; i < m; ++i) {
        for (int j = 0; j < n; ++j) {
            sums[i][j] += (i > 0 ? sums[i - 1][j] : 0) + matrix[i][j];
            int currentSum = 0;
            for (int k = 0; k <= j; ++k) {
                currentSum += sums[i][j] - (k > 0 ? sums[i][k - 1] : 0);
                maxSum = max(maxSum, currentSum);
            }
        }
    }
 
    return maxSum;
}
 
int main() {
	scanf ("%d",&n);
	for (int i = 0;i < n;i++) {
		for (int j = 0;j < n;j++) {
			int u;
			scanf ("%d",&u);
			v[i][j] = u;
		}
	}
    cout << maxSubmatrix(v) << endl;
    return 0;
}

(AI果然不靠谱)

2024/4/4 10:03
加载中...