点击这里更换您喜欢的皮肤wtboj 首页
请点击这里登入noios   首页 入门 c++讲义 入门教程视频 金牌教程 入门视频 站务 公告 | 题库 记录 竞测 测试 闯关 作业 排名 团队 讨论 | 换肤 | 登入 注册  
News >>   新增功能:各团队管理员可以发布本团队作业了 ()

讨论 Discussion
 
5000

 #include<bits/stdc++.h>
using namespace std;
stack<int> s;
int n ,x= 0,y=0,t,a[100]={0},b[100]={0};


void f(int k,int xx,int yy){
if(k>2*n){
for(int i=1;i<=n;i++){cout<<b[i]<<" ";

}

cout<<endl;
return  ;
}

if(s.size()>0){
b[yy]=s.top();
  yy++;
  s.pop();
f(k+1,xx,yy);
yy--;
s.push(b[yy]);
}
if(xx<=n){
    s.push(a[xx]);
  xx++;
  f(k+1,xx,yy);
  s.pop();
  xx--;
}

}


int main(){
cin>>n;
x=1;y=1;
for(int i=1;i<=n;i++)a[i]=i;
f(1,x,y);
return 0;
}
( )

此主题无回复显示
发布讨论主题 回复讨论主题
 Copyright wtboj © 2005-2006. www.wutuobang.date Powered by wtboj 关于 联系 帮助
 wtboj Information ---- Total Users : 1242 | Online Users / Processes : 0 / 34 | Processed Time : 74 ms | Server Time : 2025/4/26 15:12:29