文章
2
粉丝
165
获赞
1
访问
19.3k
#include
#include
#include
using namespace std;
//注意两点,dfs用vector时每次都要pop;字符串未初始化不能直接给某一位字符赋值。
int n;
string s;
vector p;
int visited[6] = { 0 };
void dfs(int x)
{
if (x == n)
{
for (int i = 0; i < n; i++)
{
cout << p[i];
}
cout << endl;
return;
}
else
for (int i = 0; i < n; i++)
{
if (visited[i] == 0)
{
visited[i] = 1;
p.push_back(s[i]);
dfs(x+1);
p.pop_back();
visited[i] = 0;
}
}
}
int main()
{
while (cin >> s)
{
n = s.size();
dfs(0);
s.clear();
p.clear();
cout << endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发