題意:
一列火車從a站進入,b站開出,中間有乙個站台,可以改變車廂順序,原本是1~n,看輸入的序列能否達到
要點:就是模擬棧的壓入彈出,如果棧頂元素對應的編號與輸入的順序一致就彈出,如果不一致就繼續壓入。最後如果棧是空的就說明順序是合法的,否則不合法
15114206
seasonal
1363
accepted
164k
63ms
c++646b
2016-01-27 16:51:39
**如下:
1.普通數組建棧
#include#include#define maxn 1005
int stack[maxn*2];
int top = -1;
void push(int e)
void pop()
int is_empty()
int main()
}if (num == n + 1)
printf("yes\n");
else
printf("no\n");
top = -1;
} printf("\n");
} return 0;
}
2.使用c++中的stl
#include#include#includeusing namespace std;
const int maxn=1050;
stacks; //利用c++中的stl建棧
int main()
}if (num == n + 1)
printf("yes\n");
else
printf("no\n");
while (!s.empty())
s.pop(); //每次使用完都要清空棧,不然上一次剩下的會干擾
} printf("\n");
} return 0;
}
POJ 1363 Rails 解題報告
poj 1363 rails 解題報告 題目的意思是給出一組數,問你是不是一組合法的出棧序列。我有兩個思路 1 每個已出棧之後的數且小於此數的數都必須按降序排列。複雜度o n 2 2 另乙個思路就是直接模擬入棧出棧過程。雖然模擬毫無技巧可言,但複雜度o n 優於演算法1。12 include cst...
poj 1363 Rails 解題報告
題意 有一列火車,車廂編號為1 n,從a方向進站,向b方向出站。現在進站順序確定,給出乙個出站的順序,判斷出站順序是否合理。實際上是模擬棧的過程,而棧的特點是先進後出。另外乙個麻煩的地方就是輸入輸出格式問題。本題實現提供兩種方法 沒有用到stl棧和有用到stl棧 1 include 法二 標頭檔案多...
POJ 1363 Rails 合法的出棧序列
使用棧與佇列模擬入棧 出棧過程 輸入輸出格式搗鼓了半天 include include include include include include include include using namespace std typedef long long ll const int mod 100...