欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

迷宫问题

程序员文章站 2023-12-26 15:35:51
...

题目描述 

定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: 


int maze[5][5] = {


        0, 1, 0, 0, 0,


        0, 1, 0, 1, 0,


        0, 0, 0, 0, 0,


        0, 1, 1, 1, 0,


        0, 0, 0, 1, 0,


};


它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。入口点为[0,0],既第一空格是可以走的路。

Input

一个N × M的二维数组,表示一个迷宫。数据保证有唯一解,不考虑有多解的情况,即迷宫只有一条通道。

solutioN:

	private static void findShorttestPath(int[][] maza) {
			//不考虑多解 的情况
				int i=0;
				int j=0;
				while(i<maza.length) {
					
					while (j<maza[0].length) {
						
						if(maza[i][j]==0) {
							printPat(i,j);
						}else {
							  j--;
							  i++;
						}
						
					}
					i++;
					if(j==maza[0].length)
						j--;
				}
				
			}

			private static void printPat(int i, int j) {
				System.out.println("("+i+","+j+")");
				
			}

 

 

上一篇:

下一篇: