資料結構鐵軌問題 stack 鐵軌問題

2021-10-13 08:25:15 字數 830 閱讀 7959

每輛火車都從a方向駛入車站,再從b方向駛出車站,同時它的車廂可以進行某種形式的重新組合。假設從a方向駛來的火車有n節車廂(n<1000),分別按順序編號為1,2,...,n。假定在進入車站之前每節車廂之間都是不連著的,並且它們可以自行移動,直到處在b方向的鐵軌上。另外假定車站c裡可以停放任意多節的車廂。但是一旦當一節車廂進入車站c,它就不能再回到a方向的鐵軌上了,並且一旦當它進入b方向的鐵軌後,它就不能再回到車站c。負責車廂排程的工作人員需要知道能否使它以a1,a2,...,an的順序從b方向駛出。     請寫乙個程式,用來判斷能否得到指定的車廂順序。

【輸入格式】

輸入由兩行組成:

第一行有n(n<1000),表示有n節車廂。

第二行n個數表示一組需判定的車廂。

【輸出格式】

對於每個輸入輸出有一行,每行根據判斷,如果能正常駛出輸出"yes",否則輸出"no"。

【輸入輸出樣例】

5 4 3 2 1

yes5 4 1 2 3

no6 5 4 3 2 1

yes1 #include

2 #include

3 using namespacestd;4

5 const int maxn = 1000 + 10;6 intn, target[maxn];7

8 intmain()9 23 else if(!s.empty()&&s.top()==target[b])24 27 else if(a<=n) s.push(a++);28 else

29 32 }33 printf("%s\n", ok ? "yes" : "no");34 }35 return 0;36 }

view code

資料結構鐵軌問題 資料結構練習專題

下面我給大家帶來一些資料結構的題,供大家欣賞 一 棧 鐵軌試題描述 某城市有乙個火車站,鐵軌鋪設如圖所示,有n節車廂從a方向駛入車站,按進站順序編號為1至n。你的任務是判斷是否能讓它們按照某種特定的順序進入b方向的鐵軌並駛出車站。為了重組車廂,你可以借助中轉站c。這是乙個可以停放任意多節車廂的車站,...

鐵軌問題 棧的運用

是這幾天學習紫書遇到的乙個問題 之前在學校的時候嘗試著做過 題目如下 自己大概知道是這麼個意思 c就相當於乙個棧 進去的車廂只能倒著出來 後進去的就先出來 裡不精 還是照著書上的打了一遍 花了乙個下午理解了 include include using namespace std const int ...

UVa514鐵軌 火車進站問題

具體題目如下 先列舉我用c語言寫的 include define maxn 1000 10 int n,target maxn n用來儲存火車的數量,target用來儲存火車出站順序 typedef structstack int empty stack s 判斷棧是否為空 int top stac...