[http://ybt.ssoier.cn:8088/problem_show.php?pid=1199]()
一本通 1199
#include <iostream> #include <cstring> #include <cstdio> #define maxn 10000005 typedef long long ll; using namespace std; char a[100]; int vis[100]; int lc; void dfs(char ans[],int l){ if(l==lc){ for(int i=0;i<l;i++){ cout<<ans[i]; } cout<<endl; return; }else{ for(int i=1;i<=lc;i++){ if(vis[i]==0){ ans[l]=a[i]; // cout<<l<<""<<ans[l]<<endl; vis[i]=1; l++; dfs(ans,l); l--; vis[i]=0; } } } } int main(){ string s; cin>>s; lc=s.length(); for(int i=0;i<s.length();i++){ a[i+1]=s[i]; } memset(vis,0,sizeof(vis)); char ans[100]; dfs(ans,0); return 0; }