洛谷P1135 奇怪的電梯(BFS)

2021-10-18 16:00:02 字數 955 閱讀 2161

題目描述

呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第ii層樓(1 \le i \le n)(1≤i≤n)上有乙個數字k_i(0 \le k_i \le n)ki​

(0≤ki​

≤n)。電梯只有四個按鈕:開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如:3, 3 ,1 ,2 ,53,3,1,2,5代表了k_i(k_1=3,k_2=3,…)ki​

(k1​ =3,k2​

=3,…),從11樓開始。在1樓,按「上」可以到4樓,按「下」是不起作用的,因為沒有−2樓。那麼,從a樓到b樓至少要按幾次按鈕呢?

輸入格式

共二行。

第一行為3個用空格隔開的正整數,表示n,a,b(1≤n≤200, 1≤a,b≤n)。

第二行為n個用空格隔開的非負整數,表示ki​ 。

輸出格式

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

輸入輸出樣例輸入5

1533

125輸出

3

#include

using

namespace std;

const

int n=

210;

int n,a,b;

int d[n]

,e[n]

;int

bfs(

int x)}if

(t-e[t]

>=

1&&t-e[t]

<=n)}}

return-1

;}intmain()

memset

(d,-1,

sizeof d)

; cout<<

bfs(a)

}

洛谷P1135 奇怪的電梯(bfs)

呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3,3,1,2,5代表了ki k1 3,k2...

洛谷p1135 奇怪的電梯

題目描述 呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3 3 1 2 5代表了ki k1...

洛谷P1135 奇怪的電梯

呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第iii層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3,3,1,2,5代表了ki k1 3,...