二维前缀和不过
查看原帖
二维前缀和不过
519605
Seven_tc楼主2024/8/14 15:33
#include <iostream>
using namespace std;
int n, m, a[15][15];
char c;
int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			cin >> c;
			a[i][j] = a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1] + (c == '1' ? 1 : 0);
		}
	}
	int ans = 0;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			for (int ii = i; ii <= n; ii++) {
				for (int jj = j; jj <= m; jj++) {
					if ((ii - i + 1) * (jj - j + 1) == (a[ii][jj] - a[i][j]) * 2)
						ans = max(ans, (ii - i + 1) * (jj - j + 1));
				}
			}
		}
	}
	cout << ans << endl;
	return 0;
}




2024/8/14 15:33
加载中...