題目描述
呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓(1<=i<=n)上有乙個數字ki(0<=ki<=n)。電梯只有四個按鈕:開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如:3 3 1 2 5代表了ki(k1=3,k2=3,……),從一樓開始。在一樓,按「上」可以到4樓,按「下」是不起作用的,因為沒有-2樓。那麼,從a樓到b樓至少要按幾次按鈕呢?
輸入輸出格式
輸入格式:
輸入檔案共有二行,第一行為三個用空格隔開的正整數,表示n,a,b(1≤n≤200, 1≤a,b≤n),第二行為n個用空格隔開的正整數,表示ki。
輸出格式:
輸出檔案僅一行,即最少按鍵次數,若無法到達,則輸出-1。
輸入輸出樣例
輸入樣例#1: 複製
5 1 5
3 3 1 2 5
輸出樣例#1: 複製
3直接放**。bfs.
#include
#include
using namespace std;
const int maxn=205;
const int zl[2]=;
int n,a,b,qw
q[maxn],q1[maxn*2],q[maxn*2],flag[maxn];
void work()
int k=1,head=0,tail=1,p=1;
q[tail]=a;
q1[tail]=0;
flag[a]=1;
while(headfor(int i=0;i<2;i++)
if(q[tail]==b) }}
printf("-1");return ;
}int main()
洛谷P1135 奇怪的電梯
呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第iii層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3,3,1,2,5代表了ki k1 3,...
洛谷 奇怪的電梯(P1135)
奇怪的電梯 問題分析 根據問題描述,所處在的樓層,上或下的層數由給定數值確定。但是超出範圍則不予響應。舉個例子,如下表所示。樓層號123 456指定數值33 1251 觀察例子發現,每一層到達的樓層是確定的,如果將樓層模擬成頂點,相互間存在到達關係的表示有通路,因此可以將上述問題求解過程,轉變為求頂...
洛谷P1135 奇怪的電梯
呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3,3 1 2 5代表了k i k 1 3,...