bfs。为什么会全RE,求助
  • 板块P1683 入门
  • 楼主tlyy11
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/1/25 23:16
  • 上次更新2024/1/26 10:50:13
查看原帖
bfs。为什么会全RE,求助
905019
tlyy11楼主2024/1/25 23:16
#include <bits/stdc++.h>
using namespace std;
int x[10000001], y[100000001], ans, sum, w, h, qx, qy;
char c[1001][1001];
bool flag[1001][1001];
int py[] = {0, -1, 0, 1, 0};
int px[] = {0, 0, 1, 0, -1};
int b(int sy,int sx){
	for(int i = 1; i <= 4; i++){
		int dy = py[i] + sy;
        int dx = px[i] + sx;
		if(flag[dy][dx] == 0 && c[dy][dx] == '.' && dy <= h && dy > 0 && dx <= w && dx > 0){
			flag[dy][dx] = 1;
			sum++;
			b(dy, dx);
		}
	}
}
int main(){
	cin >> w >> h;
	for(int i = 1; i <= h; i++){
		for(int j = 1; j <= w; j++){
			cin >> c[i][j];
			if(c[i][j] == '@'){
                qx = j, qy = i;
            }
		}
    }
	sum++;
	flag[qy][qx] = 1;
	b(qy, qx);
	cout << sum << endl;
	return 0;
}
2024/1/25 23:16
加载中...