WA on #13
查看原帖
WA on #13
490484
include13_fAKe楼主2024/5/4 19:19
#include<bits/stdc++.h>
using namespace std;

int n,m;
int r,c;
int x,y;
char maze[2024][2024];
int ans=0;
bool vis[2024][2024];
void dfs(int r,int c,int x,int y){
//	cout<<r<<' '<<c<<endl;
	vis[r][c]=true;
	ans++;
	if(maze[r-1][c]=='.'&&!vis[r-1][c]&&!vis[r-1][c]){
		dfs(r-1,c,x,y);
	}
	if(maze[r+1][c]=='.'&&!vis[r+1][c]&&!vis[r+1][c]){
		dfs(r+1,c,x,y);
	}
	if(maze[r][c-1]=='.'&&!vis[r][c-1]&&x>0&&!vis[r][c-1]){
		dfs(r,c-1,x-1,y);
	}
	if(maze[r][c+1]=='.'&&!vis[r][c+1]&&y>0&&!vis[r][c+1]){
		dfs(r,c+1,x,y-1);
	}
	return;
}
int main(){
	cin>>n>>m;
	cin>>r>>c;
	cin>>x>>y;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>maze[i][j];
		}
	}
	dfs(r,c,x,y);
	cout<<ans<<endl;
	return 0;
}
2024/5/4 19:19
加载中...