Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Score: 100
User: Monasm
Problemset: สุ่มสลับ
Language: cpp
Time: 0.000 second
Submitted On: 2024-11-29 18:14:51
#include <bits/stdc++.h>
using namespace std;
#define int long long int
int32_t main(){
int n;cin>>n;
string s;cin>>s;
int check[n] = {0};
int ans = 0,sum = 1,m=n-1;
for(int i=1;i<=n-1;i++){
sum*=i;
}
for(int i=0;i<s.size()-1;i++){
char c = s[i];
int x = s[i]-'A';
check[x]=1;
int cnt=0;
for(int j=0;j<=x;j++){
if(!check[j]){
cnt++;
}
}
if(!x){
cnt=0;
}
//cout<<"sum = "<<sum<<" cnt = "<<cnt<<endl;
ans+=(sum*cnt);
sum/=m;
m--;
}
cout<<ans+1;
return 0;
}