火車出站入站問題

2021-06-17 23:32:18 字數 482 閱讀 5852

#include#include#includeint n,m,j;

int a[1000],stack[1000],result[1000];

int check()

else

}}while(i<2*n&&flag);

if(j1==0&&flag)

puts("");

}}int main()

}while(a[1]!=-1);

}printf("%d\n",m);

}return 0;

}

演算法思想:設初始陣列a,a[i]=0表示出棧操作,a[i]=1表示入棧操作,每列火車用陣列a的

兩個元素表示該列火車出入棧情況,即n列火車的出站序列由陣列a的各元素的0、1組合確定;

程式給出2n個元素的所有0、1組合,對每一種組合用棧的先進後出原則進行測試,若符合,則

輸出該種組合所對應的火車出站序列。

火車進站出站問題

火車編號為 1 9,且不重複。如 編號分別為 1 2 3 4 5 的5個火車順序進站,那麼進站序列為 12345 全部進站後再順序出站,則出站序列為 54321 如果先進1,2,然後2出站,然後1出站,然後再3進站 出站,4進站 出站,5進站 出站,那麼出站序列就為21345.問題分析 棧具有先進後...

火車進出站問題 棧

編號為1,2,n的n輛火車依次進站,給定乙個n的排 列,判斷是否是合法的出站順序?思路 先把出站順序存入,用棧模擬進站的火車,按照出站的順序,依次pop出來,判斷 最後的出站數量能否達到n。include include include using namespace std const int m...

火車進出站序列問題簡述

問題描述 假設有乙個站台,只有乙個進出口,有一列火車,車廂標號從頭往後依次是1,2,3,4。問火車從頭進入站台,有多少種出站台的序列。解題思路 這裡的站台可以模擬於資料結構中的棧。棧具有先進後出 後進先出的特點,因此,任何乙個排程結果應該是 全排列中的乙個元素。由於進棧的順序是由小到大的,所以出棧序...