Pagini recente » Cod sursa (job #1636889) | Cod sursa (job #105517) | Cod sursa (job #2687090) | Cod sursa (job #1249833) | Cod sursa (job #1333814)
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,m,i,j,p,q,a[30][1005],v[30];
char ch1,ch2;
bool w[30][30];
int sol;
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=1;i<=m;i++)
{
scanf("%c %c\n",&ch1,&ch2);
if (w[ch1-'a'+1][ch2-'a'+1]) continue;
w[ch1-'a'+1][ch2-'a'+1]=1;
w[ch2-'a'+1][ch1-'a'+1]=1;
if (ch1==ch2) v[ch1-'a'+1]--;
else --v[ch1-'a'+1],--v[ch2-'a'+1];
}
for (i=1;i<=26;i++)
a[1][i]=1,a[0][i]=1;
for (i=2;i<=n;i++)
for (j=1;j<=26;j++)
{
a[i][j]=(a[i-2][j]*v[j]+26)%104659;
if (i==n)
sol=(sol+a[i][j])%104659;
}
printf("%d",sol);
return 0;
}