Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: erng

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

Language: cpp

Time: 0.017 second

Submitted On: 2026-03-09 09:59:43

#include <bits/stdc++.h>

using namespace std;

#define ll long long

ll sz, ans;
char x, y;

void cal(vector<char> v)
{
    ll cur=0;
    for (int i=0; i<v.size(); i++)
    {
        cur+=(v[i]-'A'+1)*(i+1);
    }
    ans+=cur;
}

void create(int ca, int cb, vector<char> v)
{
    if (cb>ca || ca>sz/2 || cb>sz/2) return;
    if (v.size()==sz && ca==cb) cal(v);
    else 
    {
        /*if (ca>cb) v.push_back(y), create(ca, cb+1, v), v.erase(v.end()-1), v.push_back(x), create(ca+1, cb, v), v.erase(v.end()-1);
        else if (ca==cb) v[v.size()-1]=x, create(ca+1, cb, v), v.erase(v.end()-1);*/
        v.push_back(x);
        create(ca+1, cb, v);
        v.pop_back();
        v.push_back(y);
        create(ca, cb+1, v);
    }
}

vector<char> v;

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>sz>>x>>y;
    sz=sz*2;
    v.push_back(x);
    create(1, 0, v);
    cout<<ans;
}