30求助,样例输出0
  • 板块P1605 迷宫
  • 楼主JackYTY
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/11/7 13:34
  • 上次更新2024/11/7 18:03:46
查看原帖
30求助,样例输出0
1294436
JackYTY楼主2024/11/7 13:34
#include<bits/stdc++.h>  
using namespace std;  
int n,m,t,sx,sy,fx,fy,tx,ty;  
int a[6][6];  
bool b[6][6];  
int sum=0;  
const int dx[4]={1,0,-1,0};  
const int dy[4]={0,-1,0,1};  
void dfs(int x,int y)  
{  
    if(x==fx&&y==fy)  
    {  
        sum++;  
        return;  
    }  
    else  
    {  
        for(int i=0;i<4;i++)  
        {  
            if(b[x+dx[i]][y+dy[i]]==0&&a[x+dx[i]][y+dy[i]]==1)  
            {  
               b[x+dx[i]][y+dy[i]]=1;  
               dfs(x+dx[i],y+dy[i]);  
               b[x+dx[i]][y+dy[i]]=0;  
            }  
        }  
    }  
}  
int main(){  
    cin>>n>>m>>t;  
    cin>>sx>>sy;  
    cin>>fx>>fy;  
    for(int i=0;i<n;i++)  
    {  
    	for(int j=0;j<m;j++)  
    	{  
    		a[i][j]=1;  
		 }  
	 }  
    for(int i=0;i<t;i++)  
    {  
        cin>>tx>>ty;  
        a[tx][ty]=0;  
    }  
    dfs(sx,sy);  
    cout<<sum;  
    return 0;  
}
2024/11/7 13:34
加载中...