Pagini recente » Cod sursa (job #160394) | Cod sursa (job #2172797) | Cod sursa (job #2118855) | Cod sursa (job #2747596) | Cod sursa (job #1794859)
#include<cstdio>
#define Modulo 104659
int a[27][27];
int d[27][1001];
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;
}