社区讨论

数据有点不对

P4147玉蟾宫参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mlkblklo
此快照首次捕获于
2026/02/13 11:20
3 周前
此快照最后确认于
2026/02/15 22:20
3 周前
查看原帖
家人们,我的代码时间复杂度为N的3次方,即为10的9次方,但我没超时,是不是数据有点水啊?
CPP
#include <bits/stdc++.h>
using namespace std;

const int N = 1003;
int n, m, a[N][N], b[N], ans;
char c;

int main() {
//	freopen(".in", "r", stdin);
//	freopen(".out", "w", stdout);
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			cin >> c;
			if (c == 'R') a[i][j] = 1;
			else a[i][j] = 0;
		}
	}
	for (int i = 1; i <= n; i++) {
		memset(b, 0, sizeof(b));
		for (int j = i; j <= n; j++) {
			for (int k = 1; k <= m; k++) b[k] += a[j][k];
			int l = 1;
			for (int k = 1; k <= m; k++) {
				if (b[k] != 0) l = k + 1;
				else ans = max(ans, (j - i + 1) * (k - l + 1));
			}
		}
	}
	cout << ans * 3;
	
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...