Submission

Status:
PPPPPPPPPP

Score: 100

User: YoruoniVamp

Problemset: ดีกค์เวิร์ด

Language: cpp

Time: 0.011 second

Submitted On: 2025-03-30 21:45:18

// YoruoniVamp - VTUBE
// Pragma Credit to Discord: pxsithexahydride
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,no-stack-protector,inline-small-functions,inline,unsafe-math-optimizations,omit-frame-pointer,inline-functions-called-once")
#include <bits/stdc++.h>
#pragma GCC target("avx2,fma,popcnt,lzcnt,bmi,bmi2,sse4.2,tune=native")
using namespace std;
#define endl '\n'
#define ll long long
#define ld long double
#define ull unsigned ll
#define cint const int
#define cf const float

cint mxA = 1e6+5, MOD = 1e9+7, INF = 0x3f3f3f3f;
cint d4x[4] = {0, 1, 0, -1}, d4y[4] = {1, 0, -1, 0};
cint d8x[8] = {0, 1, 1, 1, 0, -1, -1, -1}, d8y[8] = {1, 1, 0, -1, -1, -1, 0, 1};

void wait(int ms){
    clock_t endwait;
    endwait = clock() + ms;
    while(clock()<endwait){}
}

ll cnt;

void dyck(int mx, char a, char b, int cnta, int cntb,string s){
    if(cnta<cntb) return;
    if(mx==cnta+cntb){
        for(int i = 0; i < s.length(); i++) cnt += (s[i]-'A'+1)*(i+1);
        return;
    }
    if(cnta<mx/2) dyck(mx,a,b,cnta+1,cntb,s+a);
    if(cntb<mx/2) dyck(mx,a,b,cnta,cntb+1,s+b);
}

void solve(){
    int n; char f, s;
    cin >> n >> f >> s;
    dyck(2*n,f,s,0,0,"");
    cout << cnt;
    return;
}

int main(){
    cin.tie(nullptr)->sync_with_stdio(0);cout.tie(0);
    // freopen("", "r", stdin);
    // freopen("", "w", stdout);
    int t = 1;
    // cin >> t;
    while(t--) solve();
    return 0;
}