Cod sursa(job #2814802)

Utilizator acostin643costin andrei acostin643 Data 8 decembrie 2021 17:19:29
Problema Lista lui Andrei Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>

using namespace std;

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

bool ok[30][30];
int val[1000][30];

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