国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

寒假17:迷宮問題01,能否走出去

2019-11-14 09:20:54
字體:
來源:轉載
供稿:網友

昨天晚上老師講了下迷宮問題,感覺聽懂了。然后自己算是拓展下,加了一道墻,省掉后面一大部分的判斷,然后將四個方向合并到一個for循環里面了。

迷宮問題
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 18565 Accepted: 10989

Description

定義一個二維數組: 
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表示可以走的路,只能橫著走或豎著走,不能斜著走,要求編程序找出從左上角到右下角的最短路線。

Input

一個5 × 5的二維數組,表示一個迷宮。數據保證有唯一解。

Output

左上角到右下角的最短路徑,格式如樣例所示。

Sample Input

0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0

Sample Output

(0, 0)(1, 0)(2, 0)(2, 1)(2, 2)(2, 3)(2, 4)(3, 4)(4, 4)

Source

代碼部分:

import java.util.Scanner;public class migong {	static int[][] map=new int[7][7];	static int[][] visited=new int[7][7];	static boolean flag=false;		//四個方向,放在一個數組里	static int[][] fx=new int[][]{{0,1},{1,0},{0,-1},{-1,0}};		public static void main(String[] args) {				Scanner sc=new Scanner(System.in);				for (int i = 0; i < 7; i++) {			for (int j = 0; j < 7; j++) {				if(i==0||j==0||i==6||j==6)//加一道墻					map[i][j]=1;				else{					map[i][j]=sc.nextInt();				}			}		}		dfs(1,1);		if(flag)			System.out.PRintln("OK!");		else			System.out.println("NO!");	}	private static void dfs(int i, int j) {				//到達終點		if(i==5&&j==5){			flag=true;			return;		}				for (int k = 0; k < 4; k++) {			if(check(i+fx[k][0],j+fx[k][1])){				visited[i+fx[k][0]][j+fx[k][1]]=1;				dfs(i+fx[k][0],j+fx[k][1]);			}		}		//		//向下走//		if(check(i,j+1)){//			visited[i][j+1]=1;//			dfs(i,j+1);//		}//		//向右走//		if(check(i+1,j)){//			visited[i+1][j]=1;//			dfs(i+1,j);//		}//		//向上走//		if(check(i,j-1)){//			visited[i][j-1]=1;//			dfs(i,j-1);//		}//		//向左走//		if(check(i-1,j)){//			visited[i-1][j]=1;//			dfs(i-1,j);//		}			}		//檢查是否可以走	private static boolean check(int i, int j) {		if(map[i][j]!=1&&visited[i][j]!=1)			return true;		else{			return false;		}	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林左旗| 鹿邑县| 临夏市| 玉林市| 邹城市| 林州市| 福鼎市| 独山县| 济源市| 含山县| 波密县| 玛多县| 台东市| 梨树县| 长沙市| 清镇市| 莎车县| 澄城县| 乡城县| 叙永县| 京山县| 广丰县| 牡丹江市| 中西区| 东台市| 贵定县| 通城县| 大同县| 芜湖市| 芦山县| 体育| 平阳县| 平顶山市| 商洛市| 留坝县| 神木县| 嘉义市| 文登市| 岐山县| 东城区| 正阳县|