30分求助
  • 板块P1605 迷宫
  • 楼主caojiaming
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/1/22 15:21
  • 上次更新2023/10/24 03:20:16
查看原帖
30分求助
775551
caojiaming楼主2023/1/22 15:21

只对了3 6 9点

#include <bits/stdc++.h>
using namespace std;
int a[10][10]={{}};
bool vis[10][10]={{}};
int n,m,t,sx,sy,fx,fy;
int cnt;
void dfs(int x,int y)
{
    if(x==fx&&y==fy)cnt++;return;
    if(x<1||x>n||y<1||y>m)return;
    if(vis[x][y])return;
    if(a[x][y]==1)return;
    vis[x][y]=true;
    dfs(x+1,y+1);
    vis[x][y]=false;
    vis[x][y]=true;
    dfs(x+1,y-1);
    vis[x][y]=false;
    vis[x][y]=true;
    dfs(x-1,y+1);
    vis[x][y]=false;
    vis[x][y]=true;
    dfs(x-1,y-1);
    vis[x][y]=false;
}
int main()
{
    scanf("%d%d%d%d%d%d%d",&n,&m,&t,&sx,&sy,&fx,&fy);
    while(t--)
    {
        int zx,zy;
        scanf("%d%d",&zx,&zy);
        a[zx][zy]=1;
    }
    dfs(sx,sy);
    printf("%d",cnt);
    return 0;
}
2023/1/22 15:21
加载中...