#include<bits/stdc++.h>
using namespace std;
char s[10], a[10];
int len;//len为s的长度
bool vis[10];//vis[i]:第i字符是否用过
//确定第k个字符
void dfs(int k)
{
for(int i = 0; i < len; ++i)
{
if(vis[i] == false)//如果第i字符没用过
{
vis[i] = true;//选择第i字符
a[k] = s[i];//填充到第k位置
if(k == len-1)//如果找到解
cout << a << endl;//a是全局变量,末尾自然有'\0',此时一定填了len个元素,是一个字符数组
else
dfs(k+1);//看下一个字符
vis[i] = false;
}
}
}
int main()
{
cin >> s;
len = strlen(s);
dfs(0);
return 0;
}
1199
最新推荐文章于 2025-12-31 21:25:26 发布
522

被折叠的 条评论
为什么被折叠?



