free pascal題目奇怪的電梯用寬度搜尋

2021-03-10 17:21:10 字數 1297 閱讀 2512

1樓:匿名使用者

奇怪的電梯

copy

呵呵,有一天我做了

bai一個夢,夢見了一種du很奇怪的電梯。zhi大樓的每一層樓都可dao以停電梯,而且第i層樓(1<=i<=n)上有一個數字ki(0<=ki<=n)。電梯只有四個按鈕:

開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。

例如:3 3 1 2 5代表了ki(k1=3,k2=3,……),從一樓開始。在一樓,按「上」可以到4樓,按「下」是不起作用的,因為沒有-2樓。

那麼,從a樓到b樓至少要按幾次按鈕呢?

input

每組資料,共有二行,第一行為三個用空格隔開的正整數,表示n,a,b(1≤n≤200, 1≤a,b≤n),第二行為n個用空格隔開的正整數,表示ki。

output

每組資料,輸出一行,即最少按鍵次數,若無法到達,則輸出-1。

sample input

5 1 5

3 3 1 2 5

2樓:醉夢·上官凌雲

你有沒有更懶一點……

幫忙用回溯演算法寫一道free pascal題

3樓:魔塔雙俠

vara:array[1..10000]of longint;f:

array[1..10000]of boolean;num,n,x,b,i,j:longint;flag:

boolean;procedure work(m,time:longint);beginif m=b then begin if time=1 then if f[m-a[m]] then begin f[m-a[m]]:=false; work(m-a[m],time+1); f[m-a[m]]:

=true; end;end;beginassign(input,'lift.in');assign(output,'lift.out');reset(input); rewrite(output);fillchar(f,sizeof(f),true);readln(n,x,b);for i:

=1 to n do read(a[i]);num:=100000;work(x,0);if flag then writeln(num) else writeln(-1);close(input); close(output);end.

其實這個要用搜尋做的。回溯法效率低

4樓:匿名使用者

這個應該是要用廣搜bfs做的吧?回溯的話肯定超時。

我覺得不必用回溯了。。

free pascal做小遊戲的基本思路。謝啦

用pascal做小遊戲的基本思路是這樣的 開一個陣列,一直迴圈並輸出陣列,直到達到了某種條件時 即贏了 方可結束,注意,如果你用char讀入的話要注意會出現以外情況,用label就可以了。下面是我的參考程式 迷宮,按w 上,s 下,a 左,d 右 label 1 varc char i,j,i1,j...

奇怪的做夢現象,奇怪的做夢現象

夢境是潛意識的舞臺,而主夢境常常是由潛意識最為關注的內容來出演的。你的夢境中內容反映了當前潛意識的關注,夢到以前的化學老師重新回來教我們了 的內容是 潛意識 中的 經典形象 的夢境重現現象,這是因為最初的化學老師在意識中留下頗為深刻的形象被 潛意識 作 經典化 的固化留存所致。這個夢反映了 潛意識 ...

奇怪的現象,一個奇怪的現象

是反芻吧!反芻指牛 羊等反芻動物的特殊消化過程。包括已在瘤胃經過初步微生物消化後的食物逆嘔回口中重新咀嚼這一反芻過程。偶蹄目反芻亞目動物 牛 羊 鹿等 的胃分為四部分 瘤胃 網胃 瓣胃和皺胃,其中只有皺胃是分泌胃液的部分。牛瘤胃的容積為100 300升,約佔四部分胃的80 瘤胃內有大量微生物,包括原...