#为什么改动下面那三个地方,就会没有输出呢?
  • 板块P1605 迷宫
  • 楼主2054868163ZZ
  • 当前回复6
  • 已保存回复6
  • 发布时间2020/6/3 22:53
  • 上次更新2023/11/7 01:12:53
查看原帖
#为什么改动下面那三个地方,就会没有输出呢?
320809
2054868163ZZ楼主2020/6/3 22:53
#include <iostream>

#include<string.h>

using namespace std;
  
int n,m,t,sx,sy,fx,fy;
  
int zx,zy;
  
int sum;
  
int f[4][2] ={{1,0},{0,1},{-1,0},{0,-1} };
  
int map[10][10];
  
int  temp[10][10];
  
void dfs(int x,int y)
  
{
  
    if(x==fx&&y==fy)
    {
        sum++;
        return;
    }
    int tx,ty;
    for(int i=0;i<=3;i++)
    {
         tx=x+f[i][0];
         ty=y+f[i][1];
        if(temp[tx][ty]==0&&map[tx][ty]==1)*改成map[tx][ty]==0*
        {
            temp[x][y]=1;
            dfs(tx,ty);
            temp[x][y]=0;
        }
    }
}
int main()
                         
{
                         
    cin>>n>>m>>t;
       for(int i2=1;i2<=n;i2++)
        for(int i3=1;i3<=m;i3++)
            map[i2][i3]=1;*改成等于0*
        cin>>sx>>sy;
        cin>>fx>>fy;
        for(int i=0;i<t;i++)
        {
            cin>>zx>>zy;
            map[zx][zy]=0;*改成等于1*
        }
        dfs(sx,sy);
        cout<<sum<<endl;
    return 0;
}
2020/6/3 22:53
加载中...