报错了www大佬们看看我的
查看原帖
报错了www大佬们看看我的
869837
zzt444855895楼主2022/12/1 14:58

大佬们能不能告诉我为啥我的代码dfs函数运行报错啊

#include <stdio.h>
int a[30][30], flag, n;
void dfs(int x, int y)
{
	if (x == 0 || y == 0 || x == n - 1 || y == n - 1)
	{
		flag = -1;
	}
	else
	{
		if (a[x - 1][y] != 1) dfs(x - 1, y);
		if (a[x + 1][y] != 1) dfs(x + 1, y);
		if (a[x][y + 1] != 1) dfs(x, y + 1);
		if (a[x][y - 1] != 1) dfs(x, y - 1);
	}
}
int main()
{
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			scanf("%d", &a[i][j]);
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			if (a[i][j] != 1)
			{
				a[i][j] = 2;
			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			if (a[i][j] != 1)
			{
				flag = 0;
				dfs(i, j);
				if (flag == -1)
				{
					a[i][j] = 0;
				}
			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			printf("%d", a[i][j]);
		}
		printf("\n");
	}
}
2022/12/1 14:58
加载中...