Cod sursa(job #3281982)

Utilizator mateilucaLuca Matei Gabriel mateiluca Data 4 martie 2025 11:36:01
Problema Lista lui Andrei Scor 100
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, dp[1005][30], sol;
bool a[30][30];

int main()
{
    int i, j, z;
    char ch1, ch2;
    fin >> n >> m;
    for(i = 1;i <= m;i++)
    {
        fin >> ch1 >> ch2;
        a[ch1 - 'a' + 1][ch2 - 'a' + 1] = a[ch2 - 'a' + 1][ch1 - 'a' + 1] = 1;
    }
    for(i = 1;i <= 26;i++)
        dp[1][i] = 1;
    for(i = 2;i <= n;i++)
    {
        for(j = 1;j <= 26;j++)
            for(z = 1;z <= 26;z++)
                if(a[j][z] == 0)
                    dp[i][j] = (dp[i][j] + dp[i - 1][z]) % MOD;
    }
    for(i = 1;i <= 26;i++)
        sol = (sol + dp[n][i]) % MOD;
    fout << sol << "\n";
    fout.close();
    return 0;
}