Pagini recente » Cod sursa (job #286921) | Cod sursa (job #1907143) | Cod sursa (job #1410089) | Cod sursa (job #1895076) | Cod sursa (job #1518081)
#include<cstdio>
using namespace std;
#define MOD 104659
int k,n;
int m[28][28];
long long dp[28][1005];
char tmp;
int nr(char x)
{
return x-'a';
}
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d %d ",&n,&k);
for(int i=1; i<=k; i++)
{
char a,b;
scanf("%c%c%c%c",&a,&tmp, &b, &tmp);
m[nr(a)][nr(b)]=1;
m[nr(b)][nr(a)]=1;
}
for(int i=0; i<26; i++) dp[i][0]=1;
for(int i=1; i<n; i++)
{
for(int root=0; root<26; ++root)
for(int other=0; other<26; ++other) if(!m[root][other])
{
dp[other][i]+=dp[root][i-1];
dp[other][i]%=MOD;
}
}
long long int s=0;
for(int i=0; i<26; i++)
{
s+=dp[i][n-1];
}
printf("%lld",s%MOD);
}