Pagini recente » Cod sursa (job #1391674) | Cod sursa (job #1073658) | Cod sursa (job #2719014) | Cod sursa (job #2918858) | Cod sursa (job #893361)
Cod sursa(job #893361)
#include <cstdio>
using namespace std;
int c[40],a[40][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(i=0;i<='z'-'a';i++)
{
for(j=0;j<='z'-'a';j++)
{
if(a[i][j]==1)
{
c[i]++;
nr++;
nr=nr%104659;
}
}
}
for(i=3;i<=n;i++)
{
for(j=0;j<='z'-'a';j++)
{
if (c[i]!=0) nr=(nr+(c[j]*26)%104659)%104659;
}
}
if (n==1) printf("26");
else
/*{
// pr=1;
k=1;
for(i=2;i<=n;i++)
{
pr=(pr*26)%104659;
if (i>2) k=(k*26)%104659;
}
s=(nr*k)%104659;*/
printf("%d",pr-nr);
//}
return 0;
}