#include<bits/stdc++.h>
using namespace std;
string s;
int st[26];
void dfs(int u,string res)
{
if(u==s.size()) cout<<res<<endl;return;//如果每个位置都有数字 输出结果
for(int i=0;i<s.size();i++)
{
if(st[s[i]-'a']==1)//如果字母没有被使用过
{
st[s[i]-'a']=0;//标记使用
dfs(u+1,res+s[i]);//填下一位,将字母拼接到新的字符串内
st[s[i]-'a']=1;//搜索完,将字母初始化
}
}
}
int main(){
string s;
cin>>s;
for(int i=0;i<s.size();i++)
{
st[s[i]-'a']=1;//所有字母初始化
}
dfs(0,"")
}
C++全排列
最新推荐文章于 2025-12-09 19:50:25 发布
2126






