Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Prap

Problemset: สุ่มสลับ

Language: cpp

Time: 0.002 second

Submitted On: 2026-04-01 13:36:45

#include <iostream>
#include <string>
#include <cmath>
#include <vector>
using namespace std;
int main() {
	int n;
	cin>>n;
	string nick;
	cin>>nick;
	int nig[nick.length()];
	for (int i = 0; i<nick.length(); i++) {
		nig[i] = int(nick[i]) - 'A' + 1;
	}
	int hol;
	long long count = 0;
	long long c = 1;
	for (int i = 1; i<n; i++) {
		c = c * i;
	}
	for (int i = 0; i<n-1; i++) {
		hol = 0;
		count = count + (nig[i] - 1) * c;
		for (int j = 0; j<n; j++) {
			if (nig[j] > nig[i]) {
				nig[j]--;
			}
		}
		c = c/(n-i-1);
	}
	cout<<count+1;
	return 0;
}