#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int n,cnt=0;
char a[20];
void dfs(int k){
if(k==n) { cnt++; puts(a); return; }
for(int i=k;i<n;i++){
int j;
for(j=k;j<i;j++) if(a[j]==a[i]) break;
if(j!=i) continue;
swap(a[k],a[i]);
dfs(k+1);
swap(a[k],a[i]);
}
}
int main(){
//freopen("a.in","r",stdin);
scanf("%d%s",&n,a);
dfs(0);
printf("%d\n",cnt);
return 0;
}
含重复元素的全排列
最新推荐文章于 2021-06-22 11:37:57 发布