社区讨论

全TLE求助

B4263[GESP202503 四级] 荒地开垦参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@mhjs0s6p
此快照首次捕获于
2025/11/04 07:33
4 个月前
此快照最后确认于
2025/11/04 07:33
4 个月前
查看原帖
二级90分,回来备考四级,结果第一道题就来了个全TLE。
CPP
#include <bits/stdc++.h>
using namespace std;

int main(){
	int n, m, maxans = -1;
	char a[1005][1005];
	bool vis[1005][1005];
	cin >> n >> m;
	for(int i=1; i<=n; i++)
		for(int j=1; j<=m; j++){
			cin >> a[i][j];
			if(a[i][j] == '.')
				vis[i][j] = true;
		}
	for(int i=0; i<=n+1; i++) for(int j=0; j<=m+1; j++) if(i == 0 || i == n+1 && j == 0 || j == m+1) a[i][j] = '.', vis[i][j] = true;
	for(int i=1; i<=n; i++){
		for(int j=1; j<=m; j++){
			if(vis[i][j] == false) vis[i][j] = true;
			int ans = 0;
			for(int k=1; k<=n; k++){
				for(int h=1; h<=m; h++){
					if(vis[k][h] && vis[k+1][h] && vis[k][h-1] && vis[k][h+1] && vis[k-1][h]) ans++;
				}
			}
			maxans = maxans < ans ? ans : maxans;
			vis[i][j] = false;
		}
	}
	cout << maxans;
	return 0;
} 

回复

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

正在加载回复...