Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: purihorharin

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

Language: c

Time: 0.002 second

Submitted On: 2026-03-19 20:39:55

#include <stdio.h>
#include <stdint.h>

char a, b;
int n;

uint64_t helper (int na, int nb, uint64_t w) {
    if (na < nb) {
        return 0;
    } else if (na == n && nb == n) {
        return w;
    } else if (na == n) {
        return helper(na, nb+1, w + (b - 64) * (na + nb + 1));
    } else if (nb == n) {
        return helper(na+1, nb, w + (a - 64) * (na + nb + 1));
    } else {
        return helper(na, nb+1, w + (b - 64) * (na + nb + 1)) + helper(na+1, nb, w + (a - 64) * (na + nb + 1)); 
    }
}

int main () {
    scanf("%d %c %c", &n, &a, &b);
    printf("%llu", helper(0, 0, 0));
}