Cod sursa(job #2359797)

Utilizator Y0da1NUME JMECHER Y0da1 Data 1 martie 2019 09:35:05
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>

#define mod 104659

using namespace std;

int A[27][27];
int N, M;
int d[1005][27];

int main()
{
    ifstream in ("nrcuv.in");
    ofstream out ("nrcuv.out");
    in>>N>>M;
    for(int i = 0; i < M; ++i)
    {
        char a, b;
        in>>a>>b;
        A[a - 'a'][b - 'a'] = 1;
        A[b - 'a'][a - 'a'] = 1;
    }

    for(int i = 0; i < 26; ++i)
        d[1][i] = 1;
    for(int i = 1; i < N; ++i)
    {
        for(int j = 0; j < 26; ++j)
            for(int k = 0; k < 26; ++k)
                if(!A[j][k])
                    d[i + 1][k] = (d[i + 1][k] + d[i][j]) % mod;
    }

    int ans = 0;
    for(int i = 0; i < 26; ++i)
        ans = (ans + d[N][i]) % mod;

    out<<ans;
    return 0;
}