有乙個火車站,鐵路如圖所示,每輛火車從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處...