Cod sursa(job #2343883)

Utilizator cristina-criCristina cristina-cri Data 14 februarie 2019 14:31:38
Problema Lista lui Andrei Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 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;

}


for(int i=0; i<26; i++)

{

int nr=0;

for(int j=0; j<26; j++)

nr+=frecv[i][j];

fr[i]=nr;

}

dinamica();

int nr=0;

for(int i=0; i<26; i++)

nr+=dp[n][i];

printf("%d", nr);



return 0;

}