Cod sursa(job #2298745)

Utilizator PopeangaMihneaPopeanga Mihnea- Stefan PopeangaMihnea Data 8 decembrie 2018 14:02:35
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

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

int a[30][30];
int d[1001][30];
int n, m;
char ch1, ch2;
const int MOD=104659;

int main()
{
    fin>>n>>m;
    for(int i=1; i<=m; ++i)
    {
        fin>>ch1>>ch2;
        a[ch1-'a'][ch2-'a']=1;
        a[ch2-'a'][ch1-'a']=1;
    }
    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(a[j][k]) continue;
                d[i][j]=(d[i][j]+d[i-1][k])%MOD;
            }
        }
    }
    int sol=0;
    for(int i=0; i<=26; ++i) sol=(sol+d[n][i])%MOD;
    fout<<sol<<"\n";
    return 0;
}