Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: qweqwe
Problemset: สุ่มสลับ
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-15 21:58:05
#include <bits/stdc++.h>
#define speed cin.tie(0)->sync_with_stdio(0)
#define ll long long
#define pii pair<int,int>
using namespace std;
int main(){
speed;
int n;cin >> n;
vector<int> dp(11);dp[0]=0;dp[1]=1;
for (int i=2;i<=10;i++){
dp[i]=dp[i-1]*i;
}
vector<int> v,clist;
ll sum=0;
for (int i=1;i<=n;i++){
v.push_back(i);
}
string s;cin >> s;
for (char c:s){
clist.push_back(c-'A'+1);
}
for (int i=0;i<n;i++){
int idx=0;
for (int j=0;j<v.size();j++){
if (clist[i]==v[j]){
idx=j;break;
}
}
//cout << sum << "\n";
sum+=(idx*dp[n-i-1]);
/*
for (int j:v){
cout << j << " ";
}cout << "\n";
*/
v.erase(v.begin()+idx);
}cout << sum+1;
return 0;
}