Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Score: 100
User: Namkhing
Problemset: สุ่มสลับ
Language: cpp
Time: 0.002 second
Submitted On: 2025-04-11 16:06:33
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 15;
ll n, p[N], f[N];
string s;
int main() {
cin.tie(nullptr)->ios_base::sync_with_stdio(false);
cin >> n >> s;
p[0] = 1;
for (int i = 1; i <= n; i++) p[i] = p[i-1] * i;
ll ans = 0;
for (int i = 0; i < n; i++) {
int val = s[i] - 'A';
int cnt = 0;
for (int j = 0; j < val; j++) if (!f[j]) cnt++;
f[val] = 1;
ans += p[n-i-1] * cnt;
}
cout << ans + 1;
}