求助大佬,我想不明白哪里有问题
  • 板块P1605 迷宫
  • 楼主GGBingo
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/4/6 23:18
  • 上次更新2023/10/28 04:24:23
查看原帖
求助大佬,我想不明白哪里有问题
697187
GGBingo楼主2022/4/6 23:18

为啥我的过不了啊,我感觉我的思路没问题,写出来却过不了,去看别人的题解,感觉和我的一模一样啊,我怎么对比都找不到出入,我做题老是这样,让我很痛苦啊,心里很难受,真的感觉跟别人的是一样的,找不到不同。

#include<bits/stdc++.h>
using namespace std;
bool in(int,int);
int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
int N,M,T,Sx,Sy,Ex,Ey,res=0;
bool mmap[100][100];
bool vis[100][100];
bool in(int x,int y){
    return (x>=0 && x<N && y>=0 && y<M);
}
void dfs(int x,int y){
    if(x == Ex && y == Ey){
        res++;
        return;
    }
    for(int i=0;i<4;i++){
        int dx=x+dir[i][0];
        int dy=y+dir[i][1];
        if(in(dx,dy) && !mmap[dx][dy] && !vis[dx][dy]){
            vis[dx][dy]=1;
            dfs(dx,dy);
            vis[dx][dy]=0;
        }
    }
}
int main(){
    cin >> N >> M >> T >> Sx >> Sy >> Ex >> Ey;
    for(int i=0;i<T;i++){
        int dx,dy;
        cin >> dx >> dy;
        mmap[dx][dy]=true;
    }
    vis[Sx][Sy]=true;
    dfs(Sx,Sy);
    cout << res;
    return 0;
}
2022/4/6 23:18
加载中...