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;
}