Cod sursa(job #2285600)

Utilizator IoanaDraganescuIoana Draganescu IoanaDraganescu Data 18 noiembrie 2018 19:48:33
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;

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

bool s[30][30];
int v[30];
int d[1005][30];

int main()
{
    int n, m;
    char a, b;
    fin >> n >> m;
    for (int i = 1; i <= m; i++)
    {
        fin >> a >> b;
        s[a - 'a' + 1][b - 'a' + 1] = 1;
        s[b - 'a' + 1][a - 'a' + 1] = 1;
    }
    for (int i = 1; i <= 26; i++)
        d[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 (s[j][k] == 0)
                    d[i][j] += d[i - 1][k];
            d[i][j] %= 104659;
        }
    int s = 0;
    for (int i = 1; i <= 26; i++)
        s += d[n][i];
    fout << s % 104659 << '\n';
    return 0;
}