传送门 :
题意给定一个 1...2.. n 1...2..n 1...2..n,输出其所有入栈出栈的可能
思路我们可以先将所有数放进栈中,然后再考虑出栈
因为是从 1... n 1...n 1...n的缘故,因此我们需要逆序存入栈中
然后开始考虑 d f s dfs dfs
每次 d f s dfs dfs我们考虑从定义的栈中拿出一个数,放进我们的等待栈中
如果等待栈有元素,也就是出战的队列我们考虑将其栈顶放进答案序列
然后下面就是 拿一个,放进等待栈,放进答案…
codeint n;
stack endd,stk;
vector ans;
void dfs(vector ans,stack stk,stack endd){
if(ans.size() == n){
for(auto x : ans){
cout
关注
打赏