亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? maze.cpp

?? 迷宮算法,自己編寫
?? CPP
字號:
// maze.cpp : 定義控制臺應(yīng)用程序的入口點。
//

#include "stdafx.h"
#include<iostream>
using namespace std;

//迷宮算法
//用數(shù)組構(gòu)造迷宮(0表示是障礙,1表示可以通過)

#define INIT_SIZE 6
#define INCREMENT 3

class point
{
public:
	int x;
	int y;
};

//棧定義
typedef struct{
	point* top;
	point* base;
	int size;
}stack;

//初始化棧
bool InitStack(stack &s)
{
	s.base = (point*)malloc(INIT_SIZE*sizeof(point));
	if(!s.base)
		return false;
	s.top = s.base;
	s.size = INIT_SIZE;
	return true;
}
//入棧操作
bool Push(stack &s, point e)
{
	//追加棧空間
	if(s.top - s.base >= s.size)
	{
		s.base = (point*)realloc(s.base, (s.size + INCREMENT)*sizeof(point));
		if(!s.base)
			return false;
		s.top = s.base +s.size;
		s.size += INCREMENT;
	}
	*s.top++ = e;
	return true;

}
//出棧操作
bool Pop(stack &s, point &e)
{
	if(s.top == s.base)
		return false;
	e = *--s.top;
	return true;
}
//獲得棧頂元素
bool GetTop(stack &s, point &e)
{
	if(s.top == s.base)
		return false;
	e = *(s.top-1);
	return true;

}

void CreateMaze(int maze[10][10])
{
	maze[0][0] = 0;maze[0][1] = 0;maze[0][2] = 0;maze[0][3] = 0;maze[0][4] = 0;maze[0][5] = 0;maze[0][6] = 0;maze[0][7] = 0;maze[0][8] = 0;maze[0][9] = 0;
	maze[1][0] = 0;maze[1][1] = 1;maze[1][2] = 1;maze[1][3] = 0;maze[1][4] = 1;maze[1][5] = 1;maze[1][6] = 1;maze[1][7] = 0;maze[1][8] = 1;maze[1][9] = 0;
	maze[2][0] = 0;maze[2][1] = 1;maze[2][2] = 1;maze[2][3] = 0;maze[2][4] = 1;maze[2][5] = 1;maze[2][6] = 1;maze[2][7] = 0;maze[2][8] = 1;maze[2][9] = 0;
	maze[3][0] = 0;maze[3][1] = 1;maze[3][2] = 1;maze[3][3] = 1;maze[3][4] = 1;maze[3][5] = 0;maze[3][6] = 0;maze[3][7] = 1;maze[3][8] = 1;maze[3][9] = 0;
	maze[4][0] = 0;maze[4][1] = 1;maze[4][2] = 0;maze[4][3] = 0;maze[4][4] = 0;maze[4][5] = 1;maze[4][6] = 1;maze[4][7] = 1;maze[4][8] = 1;maze[4][9] = 0;
	maze[5][0] = 0;maze[5][1] = 1;maze[5][2] = 1;maze[5][3] = 1;maze[5][4] = 0;maze[5][5] = 1;maze[5][6] = 1;maze[5][7] = 1;maze[5][8] = 1;maze[5][9] = 0;
    maze[6][0] = 0;maze[6][1] = 1;maze[6][2] = 0;maze[6][3] = 1;maze[6][4] = 1;maze[6][5] = 1;maze[6][6] = 0;maze[6][7] = 1;maze[6][8] = 1;maze[6][9] = 0;
    maze[7][0] = 0;maze[7][1] = 1;maze[7][2] = 0;maze[7][3] = 0;maze[7][4] = 0;maze[7][5] = 1;maze[7][6] = 0;maze[7][7] = 0;maze[7][8] = 1;maze[7][9] = 0;
	maze[8][0] = 0;maze[8][1] = 0;maze[8][2] = 1;maze[8][3] = 1;maze[8][4] = 1;maze[8][5] = 1;maze[8][6] = 1;maze[8][7] = 1;maze[8][8] = 1;maze[8][9] = 0;
	maze[9][0] = 0;maze[9][1] = 0;maze[9][2] = 0;maze[9][3] = 0;maze[9][4] = 0;maze[9][5] = 0;maze[9][6] = 0;maze[9][7] = 0;maze[9][8] = 0;maze[9][9] = 0;
	
}
//基本思想是在確定某點所在位置可行時,先朝該點的左移動一格作為新點,若行則把新點當(dāng)成確定點,并且將新點入棧,若不行則按順時針方向依次移動。
//若各個方向都不行,則讓判斷是否讓棧頂元素出棧。把以經(jīng)過的點都做標(biāo)記。若到達(dá)終點點,則成功,若棧為空,則無出口
void MazePath(int maze[10][10], point startPoint, point endPoint)
{
	stack s;
	InitStack(s);
	int x = startPoint.x;
	int y = startPoint.y;
	maze[x][y] = 2;
	Push(s,startPoint);
	point temp;
	while(x != endPoint.x || y != endPoint.y)
	{
		if(maze[x][y+1] == 1)
		{
			y = y +1;
			// 做標(biāo)記
			maze[x][y] = 2;
			temp.x = x;
			temp.y = y;
			Push(s, temp);
		}
		else if(maze[x+1][y] == 1)
		{
			x = x +1;
			maze[x][y] = 2;
			temp.x = x;
			temp.y = y;
			Push(s, temp);
		}
		else if(maze[x][y-1] == 1)
		{			
			y = y -1;
			maze[x][y] = 2;
			temp.x = x;
			temp.y = y;
			Push(s, temp);

		}
		else if(maze[x-1][y] == 1)
		{
			x = x -1;
			maze[x][y] = 2;
			temp.x = x;
			temp.y = y;
			Push(s, temp);

		}
		else
		{
			// 若該點四周都不通,則判斷棧頂元素。
			if(GetTop(s, temp))
			{
				x = temp.x;
				y = temp.y;
			    //若棧頂元素四周也不通則將棧頂元素出棧并且考察下前一個可行元素
				if( maze[x][y+1] != 1 && maze[x+1][y] != 1 && maze[x][y-1] != 1 && maze[x-1][y] != 1)
				{
					Pop(s, temp);
					if(GetTop(s, temp))
			        {
						 x = temp.x;
						 y = temp.y;
					}
					else
					{
						cout << "無出口!!!!" <<endl;
				        return;

					}


				}
			}
			else
			{
				cout << "無出口!!!!" <<endl;
				return;
			}

		}
	}
	// 倒過來顯示路徑
	stack t;
	InitStack(t);
	while(Pop(s, temp))
	{
		Push(t,temp);
	}
	int i = 1;
	cout << "路徑是:" << endl;
	while(Pop(t, temp))
	{
		cout << "第" << i++ << "步[" << temp.x << "," << temp.y <<"]";
	}
	cout << endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int maze[10][10];
	CreateMaze(maze);
	cout << "迷宮圖形是:" << endl;
	for( int i = 0; i < 10; i++)
	{
		for(int j = 0; j < 10; j++)
			cout << maze[i][j] << " ";
		cout << endl;
	}
	point start;
	start.x =1;
	start.y =1;
	point end;
	end.x =8;
	end.y =8;
	MazePath(maze, start, end);

	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利电影一区二区| 天天操天天色综合| 成人av网站免费观看| 久久久久久一级片| 国产真实乱子伦精品视频| 久久免费视频色| 成人一区二区三区视频| **性色生活片久久毛片| 欧美在线一二三| 日本欧美一区二区在线观看| 日韩一区二区三区免费看| 精彩视频一区二区三区| 中文字幕欧美三区| 亚洲国产精品激情在线观看| 成人免费观看男女羞羞视频| 亚洲欧美国产毛片在线| 欧美私模裸体表演在线观看| 麻豆一区二区99久久久久| 国产欧美一区二区精品性| 91丨porny丨国产入口| 亚洲丶国产丶欧美一区二区三区| 日韩欧美国产小视频| 91精品国产91久久久久久最新毛片| 精品在线观看免费| 亚洲视频一区二区免费在线观看| 欧美日韩一区二区三区四区五区| 久久国产精品99精品国产| 亚洲国产精品ⅴa在线观看| 欧美日韩在线播放一区| 国产一区二区精品久久| 夜夜嗨av一区二区三区中文字幕| 欧美一二三四区在线| 99久久er热在这里只有精品66| 亚洲国产欧美在线| 国产日产欧美一区| 5858s免费视频成人| a级高清视频欧美日韩| 日本视频在线一区| 亚洲天堂a在线| 久久嫩草精品久久久精品一| 欧美调教femdomvk| 成人av在线网站| 久久精品国产久精国产爱| 亚洲精品美腿丝袜| 国产欧美一区二区精品仙草咪| 欧美丰满美乳xxx高潮www| 99久久精品国产观看| 韩国av一区二区三区四区| 亚洲成av人影院| 亚洲色图视频免费播放| 精品久久国产老人久久综合| 欧美日韩国产小视频在线观看| 成人免费观看av| 国产在线视视频有精品| 午夜久久久影院| 一区二区三区在线视频免费观看| 亚洲国产成人在线| 久久你懂得1024| 欧美大度的电影原声| 欧美久久久久久久久| 91黄色免费观看| 97超碰欧美中文字幕| 成人动漫av在线| 国产高清不卡一区| 国产一区二区日韩精品| 蜜臀av一区二区三区| 日本一不卡视频| 日韩在线播放一区二区| 亚洲成a人在线观看| 亚洲一区成人在线| 一区二区三区自拍| 一区二区三区资源| 一区二区在线观看视频| 一区免费观看视频| 中文字幕五月欧美| 成人欧美一区二区三区白人| 国产精品卡一卡二卡三| 中文字幕一区二区三区四区不卡| 欧美极品另类videosde| 中文字幕在线观看不卡| 中文字幕亚洲视频| 伊人夜夜躁av伊人久久| 亚洲福利一二三区| 亚洲a一区二区| 日本女人一区二区三区| 日韩精品成人一区二区在线| 免播放器亚洲一区| 黄色资源网久久资源365| 国产一区二区三区黄视频| 国产suv精品一区二区883| 不卡高清视频专区| 在线看不卡av| 欧美日韩国产综合一区二区| 91精品国产综合久久香蕉的特点| 欧美一区二区三区免费大片| 亚洲精品在线三区| 久久精品免费在线观看| 亚洲欧美一区二区三区孕妇| 亚洲国产综合人成综合网站| 日本在线观看不卡视频| 国产呦萝稀缺另类资源| 成人美女视频在线观看18| 色婷婷精品大视频在线蜜桃视频 | 国产亚洲成av人在线观看导航| 国产亚洲污的网站| 亚洲欧美另类在线| 美国毛片一区二区三区| 国产精品77777| 在线观看国产91| 日韩欧美二区三区| 亚洲三级视频在线观看| 日本美女视频一区二区| 国产99久久久久| 欧美三级视频在线观看| 久久久久久久网| 亚洲一区在线观看免费 | 韩日欧美一区二区三区| 9色porny自拍视频一区二区| 欧美乱妇15p| 国产丝袜欧美中文另类| 香蕉影视欧美成人| 成人高清在线视频| 91精品啪在线观看国产60岁| 日本一区二区三区在线观看| 亚洲成人动漫精品| 成人免费的视频| 欧美一级黄色片| 玉米视频成人免费看| 国产老肥熟一区二区三区| 欧美三级电影在线看| 国产精品美女久久久久aⅴ| 日本vs亚洲vs韩国一区三区二区| 9人人澡人人爽人人精品| 精品三级在线看| 五月激情综合色| 91在线观看免费视频| 久久久www成人免费毛片麻豆| 天天色图综合网| 日本高清不卡一区| 国产精品高潮呻吟久久| 国产在线看一区| 日韩视频在线观看一区二区| 亚洲尤物在线视频观看| 91在线观看免费视频| 中文字幕欧美激情一区| 国产中文字幕一区| 欧美videofree性高清杂交| 亚洲高清在线精品| 91久久国产最好的精华液| 国产精品卡一卡二| 国产成人三级在线观看| 久久综合色一综合色88| 蜜桃一区二区三区四区| 欧美精品久久久久久久多人混战 | 欧美一卡在线观看| 亚洲成人免费在线| 在线中文字幕一区二区| 亚洲精品国产无天堂网2021| 处破女av一区二区| 中文字幕第一页久久| 国产精品一区二区久久精品爱涩| 日韩欧美国产三级| 美女视频黄 久久| 日韩一区二区三区av| 日本欧美大码aⅴ在线播放| 7777女厕盗摄久久久| 日韩国产欧美在线视频| 91精品在线一区二区| 免费观看30秒视频久久| 日韩精品影音先锋| 狠狠狠色丁香婷婷综合激情| 精品久久久久久久一区二区蜜臀| 国内精品国产成人| 国产网站一区二区三区| 成人黄页在线观看| 亚洲免费视频成人| 欧美日韩一区在线观看| 丝瓜av网站精品一区二区| 日韩欧美一级片| 国产综合成人久久大片91| 久久精品亚洲精品国产欧美kt∨| 国产成人精品免费| 国产精品国产a| 欧美午夜不卡视频| 日韩精品电影在线观看| 精品久久久久久综合日本欧美 | 福利电影一区二区三区| 成人免费在线视频| 欧美视频三区在线播放| 日本va欧美va精品发布| 久久一区二区三区国产精品| 成+人+亚洲+综合天堂| 亚洲免费成人av| 欧美精品aⅴ在线视频| 国产真实乱子伦精品视频| 国产精品国产三级国产有无不卡| 欧美性高清videossexo| 韩国毛片一区二区三区| 综合久久综合久久| 日韩三级在线免费观看|