题解
2023-03-22 09:19:52
发布于:上海
73阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
char s[8];
void move(char s[],int a,int b){
char temp=s[a];
for(int i=a-1;i>=b;--i)
s[i+1]=s[i];
s[b]=temp;
}
void rmove(char s[],int a,int b){
char temp=s[b];
for(int i=b;i<a;++i)
s[i]=s[i+1];
s[a]=temp;
}
void dfs(char s[],int k,int m){
if(k==m){
for(int i=0;i<=m;++i){
cout<<s[i];
}
cout<<endl;
}else{
for(int i=k;i<=m;++i){
move(s,i,k);
dfs(s,k+1,m);
rmove(s,i,k);
}
}
}
int main(){
cin>>s;
int m=strlen(s)-1;
dfs(s,0,m);
}
这里空空如也
有帮助,赞一个