129. 火车进栈栈

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了129. 火车进栈栈相关的知识,希望对你有一定的参考价值。


#include<bits/stdc++.h>
using namespace std;
vector<int>ve;
stack<int>st;
int cnt=20,n;
void dfs(int k)

    if(!cnt) return;
    if(ve.size()==n)
    
        cnt--;
        for(int i=0;i<n;i++) cout<<ve[i];
        puts("");
        return;
    
    if(st.size())//出栈
    
        ve.push_back(st.top()); st.pop();
        dfs(k);
        st.push(ve.back()); ve.pop_back();
    
    if(k<=n)//入栈
    
        st.push(k);
        dfs(k+1);
        st.pop();
    

int main(void)

    cin>>n;
    dfs(1);
    return 0;

以上是关于129. 火车进栈栈的主要内容,如果未能解决你的问题,请参考以下文章

火车进栈

火车进出栈问题(Catalan数)

栈:火车进站

买火车票

华为OJ—火车进站(栈,字典排序)

火车进出栈问题