火車進站 牛客網

2021-09-05 12:39:19 字數 363 閱讀 4176

題意理解

一組火車進站,編號從0到9,數量和順序不定,求所有可能的出站順序

問題分析

用棧資料結構

用窮舉法,先用排列數next_permutation遍歷所有情況,然後驗證序列是否符合出棧的要求。

驗證出棧序列方法,逐個元素遍歷入棧序列,先入棧,當棧不空,比較棧頂元素和出站序列第乙個元素,如果相同,同時刪掉棧頂和出站序列元素,出站序列指向下乙個元素,如果不同,比較遍歷下乙個元素

其他此題正面硬剛難受,窮舉搜尋思路自然很多

驗證出棧序列是先遍歷入棧序列,再判斷棧元素,每次判斷當前元素,需要取棧中元素迴圈判斷。

實在想不出來好辦法,就參考別人的思路,不能悶頭搞,時間要緊。學習

鏈結

火車進站問題

給定乙個正整數n代表火車數量,0 比如火車進站 序列問題 c include include include include using std stack using std vector using namespace std bool ispoporder const int put orde...

火車進站問題

描述 給定乙個正整數n代表火車數量,0 知識點棧 執行時間限制 0m記憶體限制0輸入 有多組測試用例,每一組第一行輸入乙個正整數n 0 輸出輸出以字典序排序的火車出站序列號,每個編號以空格隔開,每個輸出序列換行,具體見sample。樣例輸入 31 2 3 樣例輸出 1 2 3 1 3 2 2 1 3...

77 火車進站

題目描述 給定乙個正整數n代表火車數量,0輸出描述 輸出以字典序從小到大排序的火車出站序列號,每個編號以空格隔開,每個輸出序列換行,具體見sample。示例1輸入 31 2 3 輸出1 2 3 1 3 2 2 1 3 2 3 1 3 2 1 此處所謂字典序排序的意思是這n輛火車有多少種出站的可能順序...