Cod sursa(job #2813271)

Utilizator Ion.AAlexandru Ion Ion.A Data 6 decembrie 2021 10:56:31
Problema Lista lui Andrei Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;

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

const int NMAX = 1e3 + 1;
int n, m, d[NMAX][26], rez;
char l1, l2;
bool ap[26][26];

int main()
{
    in >> n >> m;
    for (int i = 1; i <= m; i++)
    {
        in >> l1 >> l2;
        ap[l1 - 'a'][l2 - 'a'] = true;
        ap[l2 - 'a'][l1 - 'a'] = true;
    }
    for (int i = 0; i < 26; i++)
    {
        d[1][i] = 1;
    }
    for (int i = 2; i <= n; i++)
    {
        for (int j = 0; j < 26; j++)
        {
            for (int k = 0; k < 26; k++)
            {
                if (!ap[j][k])
                {
                    d[i][j] = (d[i][j] + d[i - 1][k]) % 104659;
                }
            }
        }
    }
    for (int i = 0; i < 26; i++)
    {
        rez += d[n][i];
    }
    out << rez;
    return 0;
}