http://202.121.199.212/JudgeOnline/problem.php?cid=1079&pid=23
分析:
。
k1,k2,k3为不同单词的个数。
代码:
#include <iostream> #include <stdio.h> #include <string.h> #include <string> #include <sstream> #include <stdlib.h> #include <ctype.h> #include <algorithm> using namespace std; #define MAXN 22 long long f[MAXN]; int a[36]; void init() { f[1]=1; for(int i=2;i<=20;i++) f[i] = f[i-1]*i; memset(a,0,sizeof(a)); } int main() { init(); int n,typecnt=0; long long ans; char c; scanf("%d",&n); getchar(); for(int i=0;i<n;i++){ scanf("%c",&c); a[c-'a']++; } ans=f[n]; for(int i=0;i<26;i++){ if(a[i]) ans /= f[a[i]]; } printf("%d ",ans); }