Cod sursa(job #2343885)

Utilizator cristina-criCristina cristina-cri Data 14 februarie 2019 14:36:04
Problema Lista lui Andrei Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb

#include <cstdio>

#define MOD 104659


using namespace std;


int n, m, frecv[28][28], fr[28], dp[1005][28];

char l1, l2;


void dinamica()

{

    for(int i=1; i<=n; i++)
    {
        int nr=0;
        for(int j=0; j<26; j++)
        {
            for(int k=0; k<26; k++)
                if(frecv[j][k])
                    dp[i][j]=1LL*(dp[i-1][k]+dp[i][j])%MOD;

        }
    }
}


int main()
{
    freopen("nrcuv.in", "r", stdin);
    freopen("nrcuv.out", "w", stdout);

    scanf("%d %d\n", &n, &m);

    for(int i=0; i<26; i++)
        dp[1][i]=1;

    for(int i=1; i<=m; i++)
    {
        scanf("%c %c\n", &l1, &l2);
        frecv[l1-'a'][l2-'a']=1;
        frecv[l2-'a'][l1-'a']=1;
    }

    dinamica();
    int nr=0;
    for(int i=0; i<26; i++)
        nr=(nr+dp[n][i])%MOD;
    printf("%d", nr);
    return 0;

}