Pagini recente » Cod sursa (job #2578181) | Cod sursa (job #746431) | Cod sursa (job #326614) | Cod sursa (job #2110818) | Cod sursa (job #208643)
Cod sursa(job #208643)
#include <stdio.h>
#include <math.h>
long v[32][32];
long x[2048][32];
int main() {
long i, n, j, l, k, m, s;
char a[2], b[2];
freopen("nrcuv.in", "r", stdin);
freopen("nrcuv.out", "w", stdout);
scanf("%ld%ld", &n, &k);
for (i = 1; i <= k; ++i) {
scanf("%s %s", a, b);
v[a[0] - 'a' + 1][b[0] - 'a' + 1] = v[b[0] - 'a' + 1][a[0] - 'a' + 1] = 1;
}
m = 26;
for (i = 1; i <= m; ++i) {
x[1][i] = 1;
}
for (l = 1; l < n; ++l) {
for (i = 1; i <= m; ++i) {
x[l][i] %= 104659;
for (j = 1; j <= m; ++j) {
if (v[i][j] == 0) {
x[l + 1][j] += x[l][i];
}
}
}
}
s = 0;
for (i = 1; i <= m; ++i) {
s += x[n][i];
}
s %= 104659;
printf("%ld\n", s);
return 0;
}