点6
  • 板块P1605 迷宫
  • 楼主LJYSCH0001
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/7/25 22:12
  • 上次更新2023/11/4 13:19:30
查看原帖
点6
477163
LJYSCH0001楼主2021/7/25 22:12

我擦

	#include <iostream>

	#define WALL -1
	#define FINDED 1
	#define NOTFINDED 0

	int n,m,sx,sy,fx,fy,t;
	int map[10001][6];
	int sum = 0;

	void dfs(int x,int y){
    	if(x==fx&&y==fy){
        	sum++;
        	return;
    	}
    	if(x>n||x<1||y>m||y<1||map[x][y]==FINDED||map[x][y]==WALL)
        	return;
    	else{
        	map[x][y] = FINDED;
        	dfs(x-1,y);
        	dfs(x+1,y);
        	dfs(x,y+1);
        	dfs(x,y-1);
        	map[x][y] = NOTFINDED;
    	}
	}

	int main(){
    	std::cin>>n>>m>>t
    	>>sx>>sy>>fx>>fy;
    	for(int i=0;i<t;i++) {
        	int tx,ty;
        	std::cin>>tx>>ty;
        	map[tx][ty] = WALL;
    	}
    	dfs(sx,sy);

    	std::cout<<sum;
    	return 0;
	}

点6挂了

2021/7/25 22:12
加载中...