为啥我样例都错???
  • 板块P1683 入门
  • 楼主mediocre_
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/11/27 21:02
  • 上次更新2023/10/27 01:09:39
查看原帖
为啥我样例都错???
565707
mediocre_楼主2022/11/27 21:02
#include<bits/stdc++.h>
using namespace std;
const int N = 1005;
int n, m, ans = 0;
char a[N][N];
bool use[N][N];
void dfs(int x, int y, int z) {
	if (a[x][y] == '#' || use[x][y] || x < 1 || y < 1 || x > m || y > n) {
		if (z > ans)
			ans = z;
		return;
	}
	/*for (int i = 1; i <= m; i++) {
		for (int j = 1; j <= n; j++)
			printf("%d ", use[i][j]);
		printf("\n");
	}
	printf("---------------------\n");*/
	use[x][y] = true;
	dfs(x + 1, y, z + 1);
	dfs(x - 1, y, z + 1);
	dfs(x, y + 1, z + 1);
	dfs(x, y - 1, z + 1);
}
int main() {
	scanf("%d%d", &n, &m);
	int x, y;
	for (int i = 1; i <= m; i++)
		for (int j = 1; j <= n; j++) {
			cin >> a[i][j];
			if (a[i][j] == '@')
				x = j, y = i;
		}
	dfs(x, y, 0);
	printf("%d", ans);
	return 0;
}

2022/11/27 21:02
加载中...