求卷王查错
查看原帖
求卷王查错
254389
_短笛无腔_楼主2021/6/19 18:32

0pts,感觉没啥问题……

#include<bits/stdc++.h>
using namespace std;
char arr[2002][2002];
int n,m,r,c,x,y,vis[2002][2002]={0},ans=0;
void dfs(int r,int c,int x,int y){
	if(r<=0||r>n||c<=0||c>m||arr[r][c]=='*'||vis[r][c]==1)return;
	ans++;
	vis[r][c]=1;
	if(y>0)dfs(r,c+1,x,y-1);
	if(x>0)dfs(r,c-1,x-1,y);
	dfs(r+1,c,x,y);
	dfs(r-1,c,x,y);
}
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>>arr[i][j];
	}
	dfs(r,c,x,y);
	cout<<ans;
	return 0;
}
2021/6/19 18:32
加载中...