Pagini recente » Cod sursa (job #1530249) | Cod sursa (job #1798235) | Cod sursa (job #39153) | Cod sursa (job #1247760) | Cod sursa (job #1794892)
#include<cstdio>
#define Modulo 104659
int a[27][27];
int d[1001][27];
int main()
{
int n,m;
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d\n",&n,&m);
char c1,c2;
for(int i=1;i<=m;i++)
{
scanf("%c %c ",&c1,&c2);
a[c1-'a'+1][c2-'a'+1]=a[c2-'a'+1][c1-'a'+1]=1;
}
//a[i][j]=numarul de cuvinte care se termina cu litera j si au lungime i
for(int i=1;i<=26;i++)
d[1][i]=1;
for(int i=2;i<=n;i++)
{
for(int j=1;j<=26;j++)
{
for(int f=1;f<=26;f++)
{
if(a[j][f]==0)
{
d[i][f]=(d[i][f]+d[i-1][j])%Modulo;
}
}
}
}
int rez=0;
for(int i=1;i<=26;i++)
rez=(rez+d[n][i])%Modulo;
printf("%d\n",rez);
return 0;
}