某棟大樓有一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓(1<=i<=n)上有乙個數字ki(0<=ki<=n)。電梯只有四個按鈕:開、關、上、下。上、下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如:3 3 1 2 5代表了ki(k1=3k2=3...),從一層開始。在一層按「上」可以到4層,按「下」是不起作用的,因為沒有-2層。那麼,從a層到b層至少要按幾次按鈕呢?
第1行為3個用1個空格隔開的正整數,表示n、a、b(1<=n<=2001<=ab<=n)。
第2行為n個用空格隔開的正整數,表示ki。
一行乙個數,表示最少按鍵次數。若無法到達,則輸出「-1」。
5 1 53 3 1 2 5
3
#include#includeusing namespace std;
int n,a,b,k[201],ans=999999;//k陣列表示上公升或下降層數
bool book[201];//book標記陣列
void dfs(int x,int s)//x表示當前樓層 s表示按按鈕次數 }
int main()
dfs(a,0);
if(ans!=999999) cout
return 0;
}
奇怪的電梯
奇怪的電梯 問題描述 某棟大樓有一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓 1 i 輸入格式 第1行為3個用1個空格隔開的正整數,表示n a b l n 200,1 a,b n 第2行為n個用1個空格隔開的正整數,表示k。輸出格式 一行乙個數,表示最少按鍵次數。若無法到達,則輸出 1...
奇怪的電梯
大樓的每一層樓都可以停電梯,而且第i層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3 3 1 2 5代表了ki k1 3,k2 3,從一樓開始。在一樓,按 上 可以到,按 下 ...
奇怪的電梯
1 i n 上有乙個數字 ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那 個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3 3 1 2 5 代表了 ki k1 3,k2 3,從一 樓開始。在一樓,按 上 可以到 4 樓,按 下 是不起作用的,因為沒有 ...