Cod sursa(job #2359772)

Utilizator Y0da1NUME JMECHER Y0da1 Data 1 martie 2019 09:26:30
Problema Lista lui Andrei Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 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] ++;
                    if(d[i + 1][k] > mod)
                        d[i + 1][k] -= mod;
                }
    }

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

    out<<ans;
    return 0;
}