50分求助玄关
  • 板块P1605 迷宫
  • 楼主CB_X2_Jun
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/7/13 10:27
  • 上次更新2024/7/13 11:41:16
查看原帖
50分求助玄关
1219707
CB_X2_Jun楼主2024/7/13 10:27
#include <iostream>
using namespace std;
int n,m,t,a[6][6],sx,sy,fy,fx;
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
long long s=0;
void z(int x,int y)
{
    a[x][y]=1;
    for(int i=0; i<4; i++)
    {
        int nx=x+dx[i],ny=y+dy[i];
        if(nx==fx&&ny==fy)s++;
        if(nx<=n&&nx>=1&&ny<=m&&ny>=1&&a[nx][ny]==0)
        {
            z(nx,ny);
        }
    }
    return;
}
int main()
{
    cin >> n >> m >> t >> sx >> sy >> fx >> fy;
    for(int i=1; i<=t; i++)
    {
        int zx,zy;
        cin >>zx >> zy;
        a[zx][zy]=1;
        if(fx==zx&&fy==zy)
        {
            cout << 0;
            return 0;
        }
    }
    a[sx][sy]=1;
    z(sx,sy);
    cout << s;
    return 0;
}

HELP!!!!谢谢各位\textcolor{orange}{HELP!!!! 谢谢各位}

2024/7/13 10:27
加载中...