Pagini recente » Cod sursa (job #2703434) | Cod sursa (job #509470) | Cod sursa (job #1428520) | Cod sursa (job #2221163) | Cod sursa (job #286259)
Cod sursa(job #286259)
#include <stdio.h>
#define M 104659
int a[33][33];
int nr[1024][33],n,m;
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d\n", &n,&m);
// printf("%d %d\n", n,m);
for (int i=1;i<=26;++i)
for (int j=1;j<=26;++j)
a[i][j] = 1;
char x,y;
for (int i=1;i<=m;++i)
{
x = fgetc(stdin);
while (x <'a' || x > 'z')
x = fgetc(stdin);
y = fgetc(stdin);
while (y <'a' || y > 'z')
y = fgetc(stdin);
x -= 'a'-1;
y -= 'a'-1;
a[x][y] = 0;
a[y][x] = 0;
}
for (int i=1;i<=26;++i)
nr[1][i] = 1;
for (int i=2;i<=n;++i)
for (int j=1;j<=26;++j)
for (int k=1;k<=26;++k)
if (a[j][k] == 1)
nr[i][j] = (nr[i][j] + nr[i-1][k])%M;
int ret = 0;
for (int i=1;i<=26;++i)
ret = (ret+nr[n][i])%M;
printf("%d\n", ret);
return 0;
}