Pagini recente » Cod sursa (job #2541252) | Cod sursa (job #1654960) | Cod sursa (job #2770927) | Cod sursa (job #2673088) | Cod sursa (job #895409)
Cod sursa(job #895409)
#include <cstdio>
using namespace std;
int c[40],a[40][40],b[1008][40];
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
int n,m,i,j,k,nr=0,nre=0,nrt=0,s=0,pr=26,x1,y1;
char x,y;
scanf("%d%d\n",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%c %c\n",&x,&y);
x1=x;
y1=y;
if (a[x1-'a'][y1-'a']==0 && x1==y1)nre++;
if (a[x1-'a'][y1-'a']==0 ) nrt=nrt+2;
a[x1-'a'][y1-'a']=a[y1-'a'][x1-'a']=1;
}
for(k=2;k<=n;k++)
{
pr=(pr*26)%104659;
}
for(j=0;j<='z'-'a';j++)
{
// if(a[i][j]==1)
//{
b[1][j]++;
//}
}
for(k=2;k<=n;k++)
{
s=0;
for(i=0;i<='z'-'a';i++)
{
for(j=0;j<='z'-'a';j++)
{
if (a[i][j]==0)
{
s=(s+b[k-1][i])%104659;
}
}
b[k][i]=s;
s=0;
}
}
if (n==1) printf("26");
else
{
for(i=0;i<='z'-'a';i++)
s=(s+b[n][i])%104659;
printf("%d",s);
}
return 0;
}