迷宮問題 C語言版 BFS 記憶父節點

2021-09-11 19:12:17 字數 1223 閱讀 5864

問題描述

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表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。

輸入

乙個5 × 5的二維陣列,表示乙個迷宮。資料保證有唯一解。

輸出

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

樣例輸入

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,1)

(2,1)

(3,1)

(3,2)

(3,3)

(3,4)

(3,5)

(4,5)

(5,5) 

#include #define max 1000 

typedef struct queque;

int n,m;

int x2,y2;

int map[max][max];

int memory[max][max];/*記憶遍歷狀態 放置重複走*/

int fz[4][2]=,,,};

struct que a[max];

struct que *head,*btn; /*模擬佇列的指標 隊頭指標和隊尾指標*/

void que_push(struct que x)

que que_pop()

int q_empty()

void show(struct que *h)

void bfs(int x,int y)

}

} }int main()

} bfs(1,1);

show((head+1));

struct que *h=head+1;

printf("(%d,%d)\n",h->x,h->y);

return 0;

}

魔方問題 C語言版

乙個魔方 magic square 是由乙個1到n 2的整數構成的n n矩陣,其中每行 每列以及兩個對角線上的數字之和相等。如下面是n 5的魔方,行 列 對角線的和分別是75 15 8 1 24 17 16 14 7 5 23 22 20 13 6 4 3 21 19 12 10 9 2 25 18...

問題 S 除法問題(C語言版)

題目描述 輸入正整數n,遇到檔案末尾結束。按從大到小順序輸出所有形如abcde fghij n的表示式,其中a到j恰好為數字0到9的乙個排列 可以有前導0 無解輸出 no answer n在2到79之間。輸入 一行輸入乙個整數n。輸出 形如abcde fghij n的表示式。樣例輸入 62樣例輸出 ...

C語言版約瑟夫問題演算法實現

有n個人圍坐一圈程式設計客棧,現從第s個人開始報數,數到m的人出列,接著從出列的下乙個人開始重新報數,數到m的人又出列.如此下去,直到所有人都出列為止.試設計確定他們出列次序序列的程式 1 確定儲存結構 n個人圍成一圈,故使用迴圈單鏈表來儲存序號 2 演算法實現 該問題共n m s三個未知量,所以可...