題意:有一列火車,車廂編號為1~n,從a方向進站,向b方向出站。現在進站順序確定,給出乙個出站的順序,判斷出站順序是否合理。
實際上是模擬棧的過程,而棧的特點是先進後出。另外乙個麻煩的地方就是輸入輸出格式問題。
本題實現提供兩種方法:沒有用到stl棧和有用到stl棧
1 #include //法二:標頭檔案多包含乙個 #include
2using
namespace
std;34
const
int maxn = 1000 + 5;5
6int
main()722
}23if (!flag)
2428
int ok = 1
;29 a = b = 1
;30 top = 0;31
while (b <=n)
3237
else
if (top && stack[top] == target[b]) //
top && !s.empty() && s.top() == target[b] 出棧
3842
else
if (a <=n)
4347
else
4852}53
if(ok)
54 printf("
yes\n");
55else
56 printf("
no\n");
57} 58}
59return0;
60 }
POJ 1363 Rails 解題報告
poj 1363 rails 解題報告 題目的意思是給出一組數,問你是不是一組合法的出棧序列。我有兩個思路 1 每個已出棧之後的數且小於此數的數都必須按降序排列。複雜度o n 2 2 另乙個思路就是直接模擬入棧出棧過程。雖然模擬毫無技巧可言,但複雜度o n 優於演算法1。12 include cst...
POJ1363 Rails 資料結構棧
題意 一列火車從a站進入,b站開出,中間有乙個站台,可以改變車廂順序,原本是1 n,看輸入的序列能否達到 要點 就是模擬棧的壓入彈出,如果棧頂元素對應的編號與輸入的順序一致就彈出,如果不一致就繼續壓入。最後如果棧是空的就說明順序是合法的,否則不合法 15114206 seasonal 1363 ac...
POJ 1363 Rails 合法的出棧序列
使用棧與佇列模擬入棧 出棧過程 輸入輸出格式搗鼓了半天 include include include include include include include include using namespace std typedef long long ll const int mod 100...