这题好无聊!
#include <bits/stdc++.h>
using namespace std;
int arr[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
vector<int> mul(vector<int> &v,int b){
    int i,t=0;
    vector<int> sum;
    for(i=0;i<v.size()||t;i++){
        if(i<v.size()) t+=v[i]*b;
        sum.push_back(t%10);
        t/=10;
    }
    return sum;
}
vector<int> f(int n){
    vector<int> sum;
    sum.push_back(1);
    for(int i=1;i<=n;i++){
        sum=mul(sum,i);
    }
    return sum;
}
void print(vector<int> &sum){
    for(int i=sum.size()-1;i>=0;i--){
        printf("%d",sum[i]);
    }
    printf("\n");
}
vector<int> div(vector<int> v,int b){
    int r=0,i;
    vector<int> sum;
    for(i=v.size()-1;i>=0;i--){
        r=r*10+v[i];
        sum.push_back(r/b);
        r%=b;
    }
    reverse(sum.begin(),sum.end());
    while(sum.size()>=1&&sum.back()==0) sum.pop_back();
    return sum;
}
int main(){
    int n,i,j;
    scanf("%d",&n);
    string str;
    cin>>str;
    vector<int> sum=f(n);
    for(i=0;i<str.size();i++){
        arr[str[i]%65]++;
    }
    for(i=0;i<26;i++){
        if(arr[i]>1){
            j=arr[i];
            for(j;j>1;j--){
                sum=div(sum,j);
            }
        }
    }
    cout<<"1/";
    print(sum);
    return 0;
}