題解 車廂排程

2022-08-21 21:42:15 字數 1072 閱讀 1687

有乙個火車站,鐵路如圖所示,每輛火車從a駛入,再從b方向駛出,同時它的車廂可以重新組合。假設從a方向駛來的火車有n節(n≤1000),分別按照順序編號為1,2,3,...,n。假定在進入車站前,每節車廂之間都不是連著的,並且它們可以自行移動到b處的鐵軌上。另外假定車站c可以停放任意多節車廂。但是一旦進入車站c,它就不能再回到a方向的鐵軌上了,並且一旦當它進入b方向的鐵軌,它就不能再回到車站c。

負責車廂排程的工作人員需要知道能否使它以a1,a2,...,an的順序從b方向駛出,請你來判斷給定的順序工作人員能否排程成功。

輸入格式:

第一行,乙個整數n,其中n≤1000,表示有n節車廂。

第二行,n個數字,表示車輛從b方向駛出的車廂順序。

輸出格式:

如果工作人員可以調到得到指定的車廂順序,則輸出乙個字串」yes」,否則輸出」no」。

輸入樣例:

5

5 4 3 2 1

輸出樣例:

yes

我們只要把c站和他要求輸出的順序用棧存起來,然後按照題目要求的做法輸出就好了!

**如下:

#include#include

#include

using

namespace

std;

stack

s;stack

c;int n,temp,q[1005

],t,v;

intmain()

for(register int i=n;i>=1;--i)

for(register int i=1;i<=n;++i)

} else}}

else

}while(!c.empty())

c.pop();

s.pop();

}printf(

"yes");

}

車廂排程問題解析(經典遞迴)

題目假設停在鐵路排程站入口處的車廂系列的編號依次為1,2,3,n。設計乙個程式,求出所有可能由此輸出的長度為n 的車廂系列。解析 乙個數的進棧以後,有兩種處理方式 要麼立刻出棧,或者下乙個數的進棧 如果還有下乙個元素 其出棧以後,也有兩種處理方式 要麼繼續出棧 棧不為空 或者下乙個數的入棧。該問題有...

鐵路車廂排程問題

鐵路車廂排程問題。圖 1 是乙個鐵道調車場的示意圖,兩側鐵道均為單向行駛 道,中間有一段用於排程的 棧道 調車場的入口處有 n 節硬座和軟座車廂 分 別用 h 和 s 表示 設計乙個演算法,把所有的軟座車廂排程到硬座車廂前面來,要求輸出對這 n 節車廂進行排程的 車廂編號 結果序列。hhh這個完全完...

Xxy 的車廂排程

xxy 的車廂排程 description 有乙個火車站,鐵路如圖所示,每輛火車從 a 駛入,再從 b 方向駛出,同時它的車廂可以重新組合。假設從 a 方向駛來的火車有 n 節 n 1000 分別按照順序編號為 1,2,3,n。假定在進入車站前,每節車廂之間都不是連著的,並且它們可以自行移動到 b處...