70分,看不出来哪里错了,求助大佬
  • 板块P1605 迷宫
  • 楼主liuzimingc
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/1/25 15:01
  • 上次更新2023/11/5 04:25:33
查看原帖
70分,看不出来哪里错了,求助大佬
421781
liuzimingc楼主2021/1/25 15:01

rt

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<iomanip>
#include<queue>
using namespace std;
#define maxn 10
int vis[maxn][maxn],sum;
int n,m,t,sx,sy,fx,fy,ix,iy;
int walk[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
void dfs(int x,int y){
    //cout<<x<<" "<<y<<endl;
    if (x==fx && y==fy){
        sum++;
        return;
    }
    for (int i=0;i<4;i++){
        int ux=x+walk[i][0],uy=y+walk[i][1];
        if (ux<1 || ux>n || uy<1 || uy>m || vis[ux][uy]) continue;
        vis[ux][uy]=1;
        dfs(ux,uy);
        vis[ux][uy]=0;
    }
}
int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);//提高读写速度
    cin>>n>>m>>t>>sx>>sy>>fx>>fy;
    for (int i=0;i<t;i++){
        cin>>ix>>iy;
        vis[ix][iy]=1;
    }
    dfs(sx,sy);
    cout<<sum;
    return 0;
}

实在搞不懂,求助大佬,谢谢!

2021/1/25 15:01
加载中...