這裡說一下簡單的迷宮問題,老鼠如何在迷宮中起點走到終點,乙個二位陣列maze表示迷宮,maze[i][j]=1表示此處有牆,maze[i][j]=0表示無牆(可以通過),老鼠走過的路線就將其對應值設定為2,這裡提供了乙個起點(1,1)和終點(8,10),陣列內容如下:
上**!(這裡其實沒什麼智慧型性,就像是無頭蒼蠅一樣一直撞到出口)
記錄老鼠走過的路徑
public
class
tracerecord
public
void
insert(int x, int y)
else
}public
void
delete()
node = first;
while (node.next != last)
node.next = last.next;
last = node;
}class node }}
老鼠走迷宮public
class
maze ,,,
,,,,
,,};public
static
void
main(string args)
system.out.println();
}while(x<=exitx && y<=exity)
else
if (maze[x+1][y] == 0)
else
if(maze[x][y-1] == 0)
else
if(maze[x][y+1] == 0)
else
if (checkexit(x, y, exitx, exity) == 1)
else
}system.out.println("【老鼠走過的路徑(2的部分)】");
for(i=0;i<10;i++)
system.out.println();}}
public
static
intcheckexit(int x, int y, int ex, int ey)
if(maze[x-1][y]==1 || maze[x+1][y]==2 || maze[x][y-1]==1 || maze[x][y+1]==1)
if(maze[x-1][y]==2 || maze[x+1][y]==1 || maze[x][y-1]==1 || maze[x][y+1]==1)
}return
0; }
}
執行結果,是可以看到走出的路線的(值為2的)
迷宮求解問題 堆疊的使用
queue.h define stack init size100 define stackincrement10 define statusbool define error0 define overflow 2 define ok1 struct postype typedef struct s...
簡單的迷宮問題
給你乙個n m的迷宮,這個迷宮中有以下幾個標識 s代表起點 t代表終點 x代表障礙物 代表空地 現在你們涵哥想知道能不能從起點走到終點不碰到障礙物 只能上下左右進行移動,並且不能移動到已經移動過的點 輸入第一行乙個整數t 1 t 10 接下來有t組測試資料,對於每一組測試資料,第一行輸入2個數n和m...
簡單的迷宮問題
學習了資料結構第二章棧後,實驗作業是解決簡單的迷宮問題。假設迷宮只有乙個入口和出口,預設其大小是10x10。const int n 10 迷宮大小是10x10 const int maxsize 100 陣列長度上限,因為預設迷宮大小是10x10,所以路徑最多有100個 class position...