WA + RE,应该又是关于字符输入的问题
  • 板块P1683 入门
  • 楼主thehanged
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/4/25 22:18
  • 上次更新2024/4/26 15:08:24
查看原帖
WA + RE,应该又是关于字符输入的问题
638272
thehanged楼主2024/4/25 22:18

在acwing等其他平台没有任何问题。求大佬看看

#include <iostream>
using namespace std;

const int N = 25;
bool st[N][N];
char map[N][N];
int dx[] = {-1, 0, 1, 0};
int dy[] = {0, 1, 0, -1};
int n, m, ans = 1;

void dfs(int x, int y){
	st[x][y] = true;
	
	for(int i = 0; i < 4; ++ i){
		int tx = x + dx[i], ty = y + dy[i];
		if(tx <= 0 || tx > n || ty <= 0 || ty > m) continue;
		if(map[tx][ty] == '.' && !st[tx][ty]){ // 可以走的地方 
			ans ++;
			dfs(tx, ty);
		}
	}

}

int main(){
	scanf("%d %d", &m, &n);
	int x, y;
	for(int i = 1; i <= n; ++ i){
		getchar();
		for(int j = 1; j <= m; ++ j){
			map[i][j] = getchar();
			if(map[i][j] == '@') x = i, y = j;
		}
	}
	
	dfs(x, y);
	printf("%d", ans);
	
//	for(int i = 1; i <= n; ++ i){
//		for(int j = 1; j <= m; ++ j){
//			putchar(map[i][j]);
//		}
//		puts("");
//	}
	return 0;
}
2024/4/25 22:18
加载中...