`

老鼠过迷宫 多解

J# 
阅读更多
package qinglin.learn.arithmetic;

public class MousedMaze_All
{

	//2 代表的是墙壁,1代表的是路径,0代表的是可以行走的方格
	int maze[][] = 
					{
						{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;
	final int  COLUMN=7;
	final int  ROW=7;
	private void showMaze()
	{
		for(int i=0;i<COLUMN;i++)
		{
			for(int j=0;j<ROW;j++)
			{
				if(maze[i][j]==2)
					System.out.print("●"+"  ");
				else if(maze[i][j]==0)
					System.out.print("○"+"  ");
				else if(maze[i][j]==1)
					System.out.print("◇"+"  ");
			}
			System.out.println();
			System.out.println();
		}
	}
	private void visit(int i,int j)
	{
		maze[i][j]=1;
		if(i==endI&&j==endJ)
		{
			showMaze();			
		}
		if(maze[i][j+1]==0)
			visit(i,j+1);
		if(maze[i][j-1]==0)
			visit(i,j-1);
		if(maze[i-1][j]==0)
			visit(i-1,j);
		if(maze[i+1][j]==0)
			visit(i+1,j);
		maze[i][j]=0;
	}
	public static void main(String[] args)
	{
		MousedMaze_All mouse=new MousedMaze_All();
		mouse.showMaze();
		System.out.println();
		System.out.println();
		mouse.visit(mouse.startI,mouse.startJ);
	}

}
分享到:
评论

相关推荐

    电子老鼠问题

    主要是运用C++实现电子老鼠走迷宫问题,最后输出的是最优解!

    Mathematica 迷宫求解

    这是我Mathematica课的期末作业,里面有随机生成迷宫的算法实现,有用随机老鼠探索解迷宫的算法,还有摸墙者的算法,我是初学者,可能算法实现显得不太规范,请原谅,希望能帮到大家

    本科毕业设计论文-基于VC++的迷宫游戏数据结构课程设计

    计算机解迷宫问题通常用的是“穷举求解”方法,即从入口出发,顺着某一个方向 进行探索,若能走通,则继续往前进;否则沿着原路退回,换一个方向继续探索,直至 出口位置,求得一条通路。假如所有可能的通路都探索到...

    数据结构课程设计

    最佳匹配问题,构造哈夫曼树(限选,解压缩软件(限选),小型文本编辑器,电梯模拟系统,决策树构造,关联规则求解,老鼠走迷宫,广义表实现,无向图的简单路径,工资管理系统,散列表的设计与实现,宿舍管理查询软件...

    数据结构、算法与应用:C++语言描述(原书第2版)第二部分

    8.5.6 迷宫老鼠 8.6 参考及推荐读物 第9章 队列 9.1 定义和应用 9.2 抽象数据类型 9.3 数组描述 9.3.1 描述 9.3.2 类arrayQueue 9.4 链表描述 9.5 应用 9.5.1 列车车厢重排 9.5.2 电路布线 9.5.3 图元识别 9.5.4 ...

    数据结构与算法:C++描述

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构算法与应用-C__语言描述

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构算法与应用-C++语言描述

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    C++语言描述(PDF合集)

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构算法与应用(C++语言描述).rar

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构C++描述

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构 C++描述

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构、算法与应用--C++语言描述

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构(C语言描述)

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构算法与应用-C C++语言描述

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂...

    数据结构算法与应用-C++语言描述.rar

    5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 ...

Global site tag (gtag.js) - Google Analytics