Pagini recente » Cod sursa (job #776953) | Cod sursa (job #2437845) | Cod sursa (job #1748818) | Monitorul de evaluare | Cod sursa (job #131852)
Cod sursa(job #131852)
#include <stdio.h>
int n, m, a[1002][30], b[30][30];
long s;
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
int i, j, k;
char x, y;
scanf("%d %d\n", &n, &m);
for (i = 1; i <= m; i++)
{
scanf("%c %c\n",&x, &y);
b[x-'a'+1][y-'a'+1] = b[y-'a'+1][x-'a'+1] = 1;
}
for (i = 1; i <= 26; i++) a[1][i] = 1;
for (i = 2; i <= n; i++)
for(j = 1; j <= 26; j++)
for (k = 1; k <= 26; k++)
{
if (!b[j][k]) a[i][j] += a[i-1][k];
a[i][j] %= 104659;
}
for (i = 1; i <= 26; i++)
{
s += a[n][i];
s %= 104659;
}
printf("%ld\n",s);
return 0;
}