Submission

Status:

--------------------

Subtask/Task Score:

0/100

Score: 0

User: spammer_destroyer

Problemset: สุ่มสลับ

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-17 12:00:58

#include <iostream>
#include <vector>
#include <string>
using namespace std;
int fac(int n) {
  int i,product=1;
  for(i=1;i<=n;i++) {
    product*=i;
  }
  return product;
}
int find(vector<char>& str, char c, int n) {
  int i;
  for(i=0;i<n;i++) {
    if(str[i]==c) {
      str.erase(str.begin()+i);
      return i;
    }
  }
}
int main() 
{
    int n,i,j,sum=1;
    string input;
    cin >> n >> input;
    vector<char> str(n);
    for(i=0;i<n;i++) {
      str[i]='A'+i;
    }
    int len=input.length();
    for(i=0;i<len;i++) {
      sum+=(fac(len-i-1)*find(str,input[i],n));
    }
    cout << "\n" << sum;
    return 0;
}