AcWing 129. 火车进栈
原题链接
简单
作者:
sy123
,
2021-01-11 15:39:54
,
所有人可见
,
阅读 336
#include<bits/stdc++.h>
using namespace std;
vector<int>state1;
vector<int>state2;
int state3=1;
int cnt=20;
int n;
void dfs(){
if(!cnt)return;
if(state1.size()==n){
for(auto x:state1){
cout<<x;
}
cnt--;
cout<<endl;
return;
}
if(state2.size()){
state1.push_back(state2.back());
state2.pop_back();
dfs();
state2.push_back(state1.back());
state1.pop_back();
}
if(state3<=n){
state2.push_back(state3);
state3++;
dfs();
state2.pop_back();
state3--;
}
}
int main(){
cin>>n;
dfs();
return 0;
}