Cod sursa(job #3282005)

Utilizator Andrei2454Andrei Hulubei Andrei2454 Data 4 martie 2025 11:52:17
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
#define MOD 104659
using namespace std;

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

int a[27][27] , n , m , dp[1005][27];

int main()
{
    int i , j , k;
    char ch1 , ch2;
    fin >> n >> m;
    for(i = 1;i <= m;i++)
    {
        fin >> ch1 >> ch2;
        a[ch1 - 'a' + 1][ch2 - 'a' + 1] = 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(k = 1;k <= 26;k++)
                if(a[j][k] == 0 and a[k][j] == 0)
                    dp[i][j] = (dp[i][j] + dp[i - 1][k]) % MOD;
    }
    j = 0;
    for(i = 1;i <= 26;i++)
        j = (j + dp[n][i]) % MOD;
    fout << j << "\n";
    return 0;
}