代码超时了,有没有大佬帮忙修改
  • 板块P1141 01迷宫
  • 楼主zdy897
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/18 16:22
  • 上次更新2024/3/18 20:04:22
查看原帖
代码超时了,有没有大佬帮忙修改
1002617
zdy897楼主2024/3/18 16:22
#include<bits/stdc++.h>

using namespace std;

int n, m, ret;
char a[1005][1005];
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int visit[1005][1005];

int dfs(int i, int j)
{
	visit[i][j] = 1;
	ret++;
	for(int k = 0; k < 4; k++)
	{
		int x = i + dx[k], y = j + dy[k];
		if(x >= 1 && x <= n && y >= 1 && y <= n && !visit[x][y] && a[i][j] != a[x][y])
		{
			dfs(x, y);
		}
	}
}

int main()
{
	cin >> n >> m;
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			cin >> a[i][j];
		}
	}
	
	for(int i = 1; i <= m; i++)
	{
		memset(visit, 0, sizeof(visit));
		ret = 0;
		int x, y;
		cin >> x >> y;
		dfs(x, y);
		cout << ret << endl;
	}
	return 0;
}
2024/3/18 16:22
加载中...