SDUT OJ 3334 出棧順序的判定

2021-07-05 18:23:14 字數 563 閱讀 3115

思路:

設立兩個指標i和j,i是出棧的元素的指標,j是入棧順序的指標,建立乙個棧,棧為空,把第j位入棧,再去判斷與第i位是否相同,相同的話,i++,棧頂元素出棧,不相同繼續入棧,當j >= n時就去輸出"no",代表這個出棧的序列不是我入棧的順序,當i >= n時代表我可以用那種方式出棧

code

#include#include#include#include#includeusing namespace std;

int ls[10100];

int lb[10100];

int main()

int m;

scanf("%d",&m);

while(m--)

stacka;

int j = 0;

int i = 0;

while(i < n)

else

}if(a.top() == lb[i])

else

else}}

if(i >= n)}}

return 0;

}

SDUT 3334 出棧序列判定 棧的應用)

problem description 給乙個初始的入棧序列,其次序即為元素的入棧次序,棧頂元素可以隨時出棧,每個元素只能入棧依次。輸入乙個入棧序列,後面依次輸入多個序列,請判斷這些序列是否為所給入棧序列合法的出棧序列。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對...

順序出棧(模擬棧)

順序出棧 description 給出乙個容量為m的棧和乙個1 n的任意排列和,將n個數按照給定排列壓入棧中,請你求出其是否能 夠以1,2,3 n的方式出棧。input 第一行給出n和m,其中1 m n 1000,第二行給出長度為n的排列。output 如果給定的排列能以1,2,3 n的方式出棧,輸...

入棧出棧的順序問題

題意 某個字母序列,把這字母序列按順序壓入棧中,在任意過程,允許字元出棧,求所有的可能性 思路 模擬出棧入棧的過程,暴力列舉每一種情況。include include include include include using namespace std int n char str 1000 vo...