求助~~~
  • 板块P1605 迷宫
  • 楼主tangguochao
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/12/1 16:41
  • 上次更新2023/11/3 23:10:46
查看原帖
求助~~~
591428
tangguochao楼主2021/12/1 16:41
#include <bits/stdc++.h>
using namespace std;
int N,M,T;
int sx,sy;
int fx,fy;
int m[100][100]={0};
int a[4][2]={{-1,0},{0,-1},{1,0},{0,1}};
int ans=0;
void dfs(int x,int y)
{
    if(x==fx&&y==fy)
    {
        ans++;
        return;
    }
    for(int i=0;i<4;i++)
    {
        int ux=x+a[i][0];
        int uy=y+a[i][1];
        if(ux<1||ux>N||uy<1||uy>M||m[ux][uy]!=0)
            continue;
        else
        {
            m[ux][uy]=-1;
            dfs(ux,uy);
            m[ux][uy]=0;
        }
    }
}
int main()
{
    cin >> N >> M >> T;
    cin >> sx >> sy;
    cin >> fx >> fy;
    while (T--)
    {
        int xx,yy;
        cin >> xx >> yy;
        m[xx][yy]=-1;
    }
    dfs(sx,sy);
    cout << ans;
}
2021/12/1 16:41
加载中...