牛客網 14893 棧和排序

2021-10-06 17:24:30 字數 889 閱讀 1459

題目描述:

給你乙個1->n的排列和乙個棧,入棧順序給定

你要在不打亂入棧順序的情況下,對陣列進行從大到小排序

當無法完全排序時,請輸出字典序最大的出棧序列

輸入描述:

第一行乙個數n

第二行n個數,表示入棧的順序,用空格隔開,結尾無空格

輸出描述:

輸出一行n個數表示答案,用空格隔開,結尾無空格

輸入:

52 1 5 3 4

輸出:

5 4 3 1 2

題意:

題目描述

題解

用棧模擬即可

維護乙個當前的最大值,每次判斷一下棧頂

**:

#include

#include

#include

#include

#include

using

namespace std;

const

int maxn =

1000000+5

;int a[maxn]

;int

main()

}else

if(st.

top(

)== t)

else st.

push

(a[i]);

}while

(!st.

empty()

)}return0;

}

牛客網 成績排序

查詢和排序 題目 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。例示 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 smith...

牛客 雙棧排序 niop

菜雞還沒學二分圖。題意 給定乙個序列,問能否雙棧排序,如果能,請輸出字典序最小的方案 操作a 如果輸入序列不為空,將第乙個元素壓入棧s1 操作b 如果棧s1不為空,將s1棧頂元素彈出至輸出序列 操作c 如果輸入序列不為空,將第乙個元素壓入棧s2 操作d 如果棧s2不為空,將s2棧頂元素彈出至輸出序列...

牛客網刷題 成績排序

題目描述 用一維陣列儲存學號和成績,然後,按成績排序輸出。輸入描述 輸入第一行包括乙個整數n 1 n 100 代表學生的個數。接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。輸出描述 按照學生的成績從小到大進行排序,並將排序後的學生資訊列印出來。如果學生的成績相同,則按照學號的大小...