Pagini recente » Cod sursa (job #2370628) | Cod sursa (job #483655) | Cod sursa (job #1746511) | Cod sursa (job #1745400) | Cod sursa (job #2340681)
#include <iostream>
#include <cstdio>
#define MOD 104659
using namespace std;
int n,m;
char l1,l2;
int dp[1005],dp2[1005],ap[10005][10005];
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=(int)'a'; i<=(int)'z'; i++)
dp[i]=1;
for(int i=1; i<=m; i++)
{
scanf("%c %c\n",&l1,&l2);
ap[l1][l2]=1;
ap[l2][l1]=1;
}
for(int p=2; p<=n; p++)
{
for(int i=(int)'a'; i<=(int)'z'; i++)
{
for(int j=(int)'a'; j<=(int)'z'; j++)
{
if(ap[i][j]==0)
{
dp2[i]+=dp[j];
dp2[i]%=MOD;
}
}
}
for(int c=(int)'a'; c<=(int)'z'; c++)
{
dp[c]=dp2[c];
dp2[c]=0;
}
}
int sol=0;
for(int i=(int)'a'; i<=(int)'z'; i++)
{
sol+=dp[i];
sol%=MOD;
}
printf("%d",sol);
return 0;
}