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;
}