Cod sursa(job #2073866)

Utilizator TheNextGenerationAyy LMAO TheNextGeneration Data 23 noiembrie 2017 19:44:27
Problema Lista lui Andrei Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

bool viz[30][30];
long long dp[1005][30];
const int MOD = 104659;
int main()
{
    int n,m,k=0;
    char x,y;
    in >> n >> m;
    while (m--)
    {
        in >> x >> y;
        viz[x-'a'+1][y-'a'+1] = viz[y-'a'+1][x-'a'+1] = 1;
    }
    for (int i = 1; i<=26; i++)
        dp[1][i] = 1;
    for (int i = 2; i<=n; i++)
        for (int j = 1; j<=26; j++)
            for (int k = 1; k<=26; k++)
                if (!viz[j-'a'][k-'a'])
                    dp[i][j] = (dp[i][j]+dp[i-1][k])%MOD;
    long long rez = 0;
    for (int i = 1; i<=26; i++)
        rez = (rez+dp[n][i])%MOD;
    out << rez;
}