help!
  • 板块P1605 迷宫
  • 楼主laozhang_123
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/3 19:21
  • 上次更新2024/7/3 19:29:53
查看原帖
help!
1011277
laozhang_123楼主2024/7/3 19:21
#include<bits/stdc++.h>
using namespace std;
bool mp[110][110];
int n,m,t,sx,sy,fx,fy,zx,zy,cnt=0;
void dfs(int nx,int ny,int dis){
    if(nx==fx&&ny==fy){cnt++;return ;}
    if(dis!=1&&mp[nx][ny-1]==1) dfs(nx,ny-1,1);
	if(dis!=2&&mp[nx][ny+1]==1) dfs(nx,ny+1,2);
	if(dis!=3&&mp[nx-1][ny]==1) dfs(nx-1,ny,3);
	if(dis!=4&&mp[nx+1][ny]==1) dfs(nx+1,ny,4);
	return ;
}
int main(){
    cin>>n>>m>>t>>sx>>sy>>fx>>fy;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=m;j++){
    		mp[i][j]=1;
		}
	}
    while(t--){
    	cin>>zx>>zy;
    	mp[zx][zy]=0;
	}
    dfs(sx,sy,0);
    return 0;
}
2024/7/3 19:21
加载中...