萌新求助QWQ
查看原帖
萌新求助QWQ
275445
所有人袛旳楼主2021/3/20 08:18

RT,萌新刚学dfs,样例过不去,请求各位大佬指出错误,谢谢

#include<bits/stdc++.h>
using namespace std;
int m,n,x,y,i,u,xx,yy,flag[205][205],nextt[4][2]={{0,1},{0,-1},{1,0},{-1,0}},s;
char tu[205][205];
void dfs(int x,int y){
	flag[x][y]=1;
	s++;
	for(int i=0;i<=3;i++){
		xx=x+nextt[i][0];
		yy=y+nextt[i][1];
		if(xx<1||xx>m||yy<1||yy>n) continue;
		if(tu[xx][yy]=='.'&&flag[xx][yy]==0){
			dfs(xx,yy);
		}
	}
}
int main(){
	cin>>m>>n;
	for(i=1;i<=m;i++){
		for(u=1;u<=n;u++){
			cin>>tu[i][u];
			if(tu[i][u]=='@'){
				x=i;
				y=u;
			}
		}
	}
	dfs(x,y);
	cout<<s;
	return 0;
} 
2021/3/20 08:18
加载中...