Cod sursa(job #3275284)

Utilizator SwanOCPica Razvan Mihai SwanOC Data 9 februarie 2025 17:44:45
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;

ifstream in("nrcuv.in");
ofstream out("nrcuv.out");

#define mod 104659

int n, m, fr[30][30], a[1005][30];

int main(void) {

    in >> n >> m;

    for (int i = 0; i < m; i++) {
        char l1, l2;
        in >> l1 >> l2;

        fr[l1 - 'a'][l2 - 'a'] = 1;
        fr[l2 - 'a'][l1 - 'a'] = 1;
    }

    for (int i = 0; i < 26; i++)
        a[0][i] = 1;
    
    for (int i = 1; i <= n; i++)
        for (int j = 0; j < 26; j++)
            for (int k = 0; k < 26; k++)
                if (fr[j][k] != 1)
                    a[i][j] = (a[i][j] + a[i - 1][k]) % mod;
    
    long long suma = 0;
    for (int i = 0; i < 26; i++)
        suma = (suma + a[n - 1][i]) % mod;
    
    out << suma;
    return 0;
}