SDUT3334資料結構實驗之棧七 出棧序列判定

2021-07-11 22:18:37 字數 1005 閱讀 6101

time limit: 30ms   memory limit: 1000k  有疑問?點這裡^_^

給乙個初始的入棧序列,其次序即為元素的入棧次序,棧頂元素可以隨時出棧,每個元素只能入棧依次。輸入乙個入棧序列,後面依次輸入多個序列,請判斷這些序列是否為所給入棧序列合法的出棧序列。

例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個出棧序列,但4,3,5,1,2就不可能是該序列的出棧序列。假設壓入棧的所有數字均不相等。

第一行輸入整數n(1<=n<=10000),表示序列的長度。

第二行輸入n個整數,表示棧的壓入順序。

第三行輸入整數t(1<=t<=10)。

後面依次輸入t行,每行n個整數,表示要判斷的每乙個出棧序列。

對應每個測試案例輸出一行,如果由初始入棧序列可以得到該出棧序列,則輸出yes,否則輸出no。

5
1 2 3 4 5
2
4 5 3 2 1
4 3 5 1 2

yes
no

#include using namespace std;

const int n = 10005;

int a[n], b[n];

int main()

scanf("%d",&t);

while(t--)

int flag = 1, j;

i = 1;

j = 1;

stacks;

while(j <= n)

else if( !s.empty() && s.top() == b[j] )

else if( i <= n ) s.push(a[i++]);

else

}printf(flag?"yes":"no");

printf("\n");

}return 0;

}

sdut資料結構上機實驗之順序查詢

資料結構上機實驗之順序查詢 time limit 1000ms memory limit 65536k 在乙個的序列裡,查詢元素是否存在,若存在輸出yes,不存在輸出no.本題多組資料,首先輸入乙個數字n,然後輸入n n 1000 個數,然後再輸入乙個查詢數字。若存在輸出yes,不存在輸出no.4 ...

資料結構實驗 雜湊表 SDUT

time limit 1000ms memory limit 65536k 有疑問?點這裡 在n個數中,找出出現次數最多那個數字,並且輸出出現的次數。如果有多個結果,輸出數字最小的那乙個。單組資料,第一行數字n 1 n 100000 接下來有n個數字,每個數字不超過100000000 出現次數最多的...

sdut 資料結構實驗之棧四 括號匹配

time limit 1000ms memory limit 65536kb submit statistic discuss problem description 給你一串字元,不超過50個字元,可能包括括號 數字 字母 標點符號 空格,你的任務是檢查這一串字元中的 是否匹配。input 輸入資...