90分,求助大佬QWQ
查看原帖
90分,求助大佬QWQ
596448
_Ayanami_Rei_楼主2022/1/21 18:36
#include<iostream>
using namespace std;
int n,m,ans,fx,fy,t,sx,sy;
int map[50][50];
int dx[4]={1,0,0,-1};
int dy[4]={0,1,-1,0};
void dfs(int x,int y){
    if(x==fx&&y==fx){
        ans++;
        return ;
    }
    for(int i=0;i<4;i++){
        int nx=x+dx[i];
        int ny=y+dy[i];
        if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&!map[nx][ny]){         
            map[x][y]=1;
            dfs(nx,ny);
            map[x][y]=0; 
        }
    }
}
int main(){
    cin>>n>>m>>t;
    cin>>sx>>sy;
    cin>>fx>>fy;
    for(int i=1;i<=t;i++){
        int x,y;
        cin>>x>>y;
        map[x][y]=1;
    }
    dfs(sx,sy);
    cout<<ans;
    return 0;

}
2022/1/21 18:36
加载中...