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的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的...