Pagini recente » Cod sursa (job #1664062) | Cod sursa (job #820015) | Cod sursa (job #1212771) | Cod sursa (job #497140) | Cod sursa (job #399155)
Cod sursa(job #399155)
#include<stdio.h>
#define N 1003
#define C 26
#define M 104659
short n,m;
long a[N][C];
char e[C][C];
void citire()
{
scanf("%hd%hd\n",&n,&m);
short i;
char c1,c2;
for(i=0; i<m; ++i)
{
scanf("%c %c\n",&c1,&c2);
c1-='a';
c2-='a';
e[c1][c2]=1;
e[c2][c1]=1;
}
}
void rezolva()
{
short i,j,t;
for(i=0; i<C; ++i)
a[1][i]=1;
for(i=2; i<=n; ++i)
{
for(j=0; j<C; ++j)
{
for(t=0; t<C; ++t)
{
if(e[j][t]==1)
continue;
a[i][j]+=a[i-1][t];
if(a[i][j]>=M)
a[i][j]-=M;
}
}
}
}
void scrie()
{
long rez=0;
short i;
for(i=0; i<C; ++i)
{
rez+=a[n][i];
if(rez>=M)
rez-=M;
}
printf("%ld\n",rez);
}
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
citire();
rezolva();
scrie();
return 0;
}