超时求助求助
  • 板块P1605 迷宫
  • 楼主luqyou
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/11/10 13:27
  • 上次更新2023/11/4 00:58:59
查看原帖
超时求助求助
464732
luqyou楼主2021/11/10 13:27
#include<bits/stdc++.h>
using namespace std;
int Map[6][6],m,n,t,sx,sy,ex,ey,tx,ty,ans;
int dx[5]={0,1,1,-1,-1};
int dy[5]={0,1,-1,1,-1};
void dfs(int x,int y){
    if(x==ex&&y==ey){
        ans++;
        return ;
    }
    else{
        for(int i=1;i<=4;i++){
            int nx=dx[i]+x;
            int ny=dy[i]+y;
            if(Map[nx][ny]==0){
                Map[x][y]=1;
                dfs(nx,ny);
                Map[x][y]=0;
            }
        }
    }
}
int main(){
    cin>>n>>m>>t>>sx>>sy>>ex>>ey;
    for(int i=1;i<=t;i++){
        cin>>tx>>ty;
        Map[tx][ty]=1;
    }
    dfs(sx,sy);
    cout<<ans;
    return 0;
}
2021/11/10 13:27
加载中...