Submission

Status:
PPPPPPPPPPPPPPPPPPPP

Score: 100

User: Monasm

Problemset: สุ่มสลับ

Language: cpp

Time: 0.000 second

Submitted On: 2024-11-29 18:14:51

#include <bits/stdc++.h>

using namespace std;
#define int long long int

int32_t main(){
    int n;cin>>n;
    string s;cin>>s;
    int check[n] = {0};
    int ans = 0,sum = 1,m=n-1;
    for(int i=1;i<=n-1;i++){
        sum*=i;
    }
    for(int i=0;i<s.size()-1;i++){
        char c = s[i];
        int x = s[i]-'A';
        check[x]=1;
        int cnt=0;
        for(int j=0;j<=x;j++){
            if(!check[j]){
                cnt++;
            }
        }
        if(!x){
            cnt=0;
        }
        //cout<<"sum = "<<sum<<" cnt = "<<cnt<<endl;
        ans+=(sum*cnt);
        sum/=m;
        m--;
    }
    cout<<ans+1;
    return 0;
}