巨野菏泽网站建设,如何建立一个网站分享教程,WordPress 建电商网站,做网站如何设计数据库/*说明老鼠走迷宫是递回求解的基本题型#xff0c;我们在二维阵列中使用2表示迷宫墙壁#xff0c;使用1来表示老鼠的行走路径#xff0c;试以程式求出由入口至出口的路径。解法老鼠的走法有上、左、下、右四个方向#xff0c;在每前进一格之后就选一个方向前进#xff0c;…/*说明老鼠走迷宫是递回求解的基本题型我们在二维阵列中使用2表示迷宫墙壁使用1来表示老鼠的行走路径试以程式求出由入口至出口的路径。解法老鼠的走法有上、左、下、右四个方向在每前进一格之后就选一个方向前进无法前进时退回选择下一个可前进方向如此在阵列中依序测试四个方向直到走到出口为止这是递回的基本题请直接看程式应就可以理解。*/#include #include int visit(int, int);//迷宫矩阵2代表墙壁0代表通道int maze[7][7] {{2, 2, 2, 2, 2, 2, 2},{2, 0, 0, 0, 0, 0, 2},{2, 0, 2, 0, 2, 0, 2},{2, 0, 0, 2, 0, 2, 2},{2, 2, 0, 2, 0, 2, 2},{2, 0, 0, 0, 0, 0, 2},{2, 2, 2, 2, 2, 2, 2}};int startI 1, startJ 1; // 入口int endI 5, endJ 5; // 出口int success 0;int main(void){int i, j;printf(“显示迷宫\n”);for(i 0; i 7; i){for(j 0; j 7; j){if(maze[i][j] 2)printf(“█”);elseprintf(” “);}printf(“\n”);}if(visit(startI, startJ) 0){printf(“\n没有找到出口\n”);}else{printf(“\n显示路径\n”);for(i 0; i 7; i){for(j 0; j 7; j){if(maze[i][j] 2)printf(“█”);else if(maze[i][j] 1)printf(“◇”);elseprintf(” “);}printf(“\n”);}}return 0;}int visit(int i, int j){//该点走过标记为1maze[i][j] 1;//走到终点成功if(i endI j endJ)success 1;//向四个方向递归调用函数visit()if(success ! 1 maze[i][j1] 0) visit(i, j1);if(success ! 1 maze[i1][j] 0) visit(i1, j);if(success ! 1 maze[i][j-1] 0) visit(i, j-1);if(success ! 1 maze[i-1][j] 0) visit(i-1, j);//该点走过但没成功则该点重新置为0if(success ! 1)maze[i][j] 0;return success;}