模拟迷宫 深搜

来源:互联网 发布:保罗赛特莱茵家具 淘宝 编辑:程序博客网 时间:2024/04/29 08:38
/****************************************************************************** *  author : kangquan@scut2008 * *  blog : http://blog.csdn.net/kangquan2008 * *  discription: 模拟走迷宫 * *****************************************************************************/#include <stdio.h>#include <stdlib.h>#define ROW 5#define COL 5char maze[ROW][COL] = { '0','1','1','1','1','0','0','1','1','1','1','0','1','1','1','1','0','0','0','1','1','1','1','0','0'};int dir[][2] = {{0,1},{0,-1},{1,0},{-1,0}};void display_path(){for(int i=0; i<ROW; i++){for(int j=0; j<COL; j++)printf("%c ",maze[i][j]);printf("\n");}}void dfs(char (*maze)[COL], int x, int y){//printf("x:%d,y:%d\n",x,y);if(maze[x][y] == '0')maze[x][y] = ' ';elsereturn ;if( x == COL-1 || y == ROW-1 )// already get out{display_path();exit(EXIT_SUCCESS);}for(int i=0; i<4; i++){int x_cord = x+dir[i][0];int y_cord = y+dir[i][1];if(x_cord >= 0 && x_cord < COL \&& y_cord >=0 && y_cord < ROW){dfs(maze,x_cord,y_cord);}}maze[x][y] = '0';}int main(){dfs(maze,0,0);return 0;}

原创粉丝点击