Cod sursa(job #3281997)

Utilizator crina2120Arnautu Cristina-Crina crina2120 Data 4 martie 2025 11:48:49
Problema Lista lui Andrei Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
#define mod 104659
using namespace std;

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

int n, m, s, a[30][30], dp[2003][2003];
char ch1, ch2;

int main()
{
    int i, j, k;
    fin >> n >> m;
    for (i = 1; i <= m; i++)
    {
        fin >> ch1 >> ch2;
        a[ch1 - 'a'][ch2 - 'a'] = a[ch2 - 'a'][ch1 - 'a'] = 1;
    }
    //dp[i][j] = nr de cuv de i litere care se termina cu j
    for (j = 0; j <= 25; j++)
        dp[1][j] = 1;
    for (i = 2; i <= n; i++)
        for (j = 0; j <= 25; j++)
            for (k = 0; k <= 25; k++)
                if (a[j][k] == 0)
                    dp[i][j] = (dp[i][j] + dp[i-1][k]) % mod;
    for (j = 0; j <= 25; j++)
        s += dp[n][j];
    fout << s << "\n";
    return 0;
}