簡單迷宮的實現 找一條通路

2021-08-18 10:19:46 字數 1345 閱讀 9159

#include#include#includeusing namespace std;

//求解路徑的基本思想:1.如果當前路徑能夠通過,將當前路經進行壓棧,為了回退(回溯法),並將走過的路標記成2 不能走1,0可以走

//2.如果當前路徑上下左右都不能通過,則出棧(回溯)並且將當前路徑標為3 即將回溯路徑標記為3

//3.棧為空(表示回到起點)也表示沒有出路

#define m 10

#define n 10

class maze

; typedef struct pos pos;

maze(int maze[m][n])//初始化迷宮

}} bool checkaccess(pos next)

return false;

} bool getmazepath(pos entry)

//上pos next = cur;

next = cur;

next._row += 1;

if (checkaccess(next))

//下next = cur;

next._row -= 1;

if (checkaccess(next))

//左next = cur;

next._col -= 1;

if (checkaccess(next))

//右next = cur;

next._col += 1;

if (checkaccess(next))

//走到此處說明next位置,四個方向都走不通 回溯

pos back = paths.top(); // 將走不通的標記為3,即將回溯的路記為3

我的生物鐘調不過來了,下午困,晚上睡不著。

演算法之老鼠走迷宮1 找一條路

老鼠走迷宮問題是遞迴的乙個經典應用演算法 基本描述如下 有乙個只老鼠在迷宮裡,隨便給幾個起點,給乙個終點,找出一條由起點到終點的連通路徑。簡單設計如下 老鼠在任何一點的行動方向都有四種可能行,上下左右 每當發生一次移動之後,下一次移動又有四種可能性。因此可以用遞迴來解決該問題,為了 中直觀地顯示,我...

查詢資料的上一條和下一條

查詢當前資料的下一條 select from 表 where id 當前資料的id order by id asc limit1 查詢當前資料的上一條 select from 表 where id 當前資料的id order by id asc limit 1 查詢當前資料的下一條 select f...

EF中一條簡單的查詢語句

已知 從別的地方取來資料存入本地資料庫,儲存的時候,順帶將伺服器的時間也存起來 這個時間是以 datetime 型別儲存的 問題 當我從本地資料庫取資料的時候,如果發現這條資料是一小時之前存的,就刪除然後重新從遠端獲取資料存入本地資料庫,如果是一小時之記憶體的,就直接讀取這些資料。這個問題一點也不難...