Pagini recente » Cod sursa (job #878776) | Cod sursa (job #2349196) | Cod sursa (job #2251114) | Cod sursa (job #1109311) | Cod sursa (job #2673859)
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int dp[1005][27];
bool verifica[27][27];
int main()
{
int m,n,i,j,k;
char a,b;
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d\n",&n,&m);
for(i=0;i<m;i++)
{
scanf("%c %c\n", &a,&b);
verifica[a-'a'][b-'a']= true;
verifica[b-'a'][a-'a']=true;
}
for(j=0;j<26;j++)
{
dp[0][j]=1;
}
for(i=1;i<n;i++)
{
for(j=0;j<26;j++)
{
for(k=0;k<26;k++)
{
if(!verifica[j][k])
{
dp[i][j]+=dp[i-1][k];
dp[i][j]%=104659;
}
}
}
}
int r=0;
for (j=0;j<26;j++)
{
r+=dp[n-1][j];
r%=104659;
}
printf("%d",r);
return 0;
}