廣度優先搜尋 神奇的題目們(第一彈)

2021-07-27 03:51:10 字數 838 閱讀 5410

first,我們請出在oi界風靡一陣的難題,八數碼難題(其實說難也不難):

#include#include#include

int a[10],b[10]=,chan

[1000011][10];

int pd[10][10][10][10][10][10][10][10]=;

int w[5]=;

int zero[1000011],ans[1000011];

int finish(int tail)

void inser(int tail,int head,int wi)

int hefa(int p,int k)

int ok(int tail)

void bfs()}}

}while(headint main()

chan

[1][i]=a[i];

}//模擬字串讀入,轉成陣列

tail=1;

zero[tail]=fi;//佇列初始化

pd[chan[tail][1]][chan[tail][2]][chan[tail][3]][chan[tail][4]][chan[tail][5]][chan[tail][6]][chan[tail][7]][chan[tail][8]]=1;//用乙個八維陣列來判斷重複,實現o(1)的複雜度判重

bfs();//廣搜,但建立在問題一定有結果的情況下.

return

0;}

這段**的核心思想,就是判重:不需要很多的步驟,只需要簡單的o(1),但是卻讓我們失去了太多的空間:10^9!!!要麼損時,要麼損空。

廣度優先搜尋練習之神奇的電梯

廣度優先搜尋練習之神奇的電梯 time limit 1000ms memory limit 65536k 題目描述 有一座已知層數為n的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的是,這座高樓的電梯是限號的,小鑫最開始的時候在1層,他想去第x層,問題是...

廣度優先搜尋練習之神奇的電梯

廣度優先搜尋練習之神奇的電梯 time limit 1000ms memory limit 65536kb submit statistic problem description 有一座已知層數為n的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的是,這...

廣度優先搜尋練習之神奇的電梯

廣度優先搜尋練習之神奇的電梯 time limit 1000 ms memory limit 65536 kib submit statistic problem description 有一座已知層數為n的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的...