求助
  • 板块灌水区
  • 楼主欧阳逸owen
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/7/3 17:46
  • 上次更新2023/11/3 11:44:52
查看原帖
求助
381471
欧阳逸owen楼主2023/7/3 17:46

代码:

#include<bits/stdc++.h>
using namespace std;
char arr[2002][2002];
long long n,m,r,c,x,y,ans=0;
void dfs(long long r,long long c,long long x,long long y){
    if(r<=0||r>n||c<=0||c>m||arr[r][c]=='*') return;
//    cout << r << " " << c << endl;
    ans++;
    arr[r][c]='*';
    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;
}

题目:https://www.luogu.com.cn/problem/CF1063B

2023/7/3 17:46
加载中...