改成dfs,40分,求救
  • 板块P1605 迷宫
  • 楼主patrickwen
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/3/16 11:11
  • 上次更新2024/3/16 13:45:46
查看原帖
改成dfs,40分,求救
1099787
patrickwen楼主2024/3/16 11:11
#include <bits/stdc++.h>
using namespace std;
int n,m,sx,sy,vx,vy,tt,fx,fy,tx,ty,ans=0;
int a[105][105]={0};
bool vis[105][105];
void dfs(int x, int y) {
    if(x<1||x>n){
    	return;
	}
    if(y<1||y>m){
    	return;
	}
    if(a[x][y] == 1){
    	return;
	}
    if(vis[x][y]==1){
	    return; 
	 }
    vis[x][y]=1;
    if(x ==fx && y ==fy) {
    	ans++;
    	return ;
	}
	
    dfs(x+1,y);
    dfs(x-1,y);
    dfs(x,y+1);
    dfs(x,y-1);
}

int main(void) {
    cin>>n>>m>>tt>>sx>>sy>>fx>>fy;
    for(int i=1;i<=tt;i++){
    	cin>>tx>>ty;
        a[tx][ty]=1;
	}
    dfs(sx,sy);
    cout<<ans<<endl;
}
2024/3/16 11:11
加载中...