Pagini recente » Cod sursa (job #1487901) | Cod sursa (job #2908264) | Cod sursa (job #440536) | Cod sursa (job #478665) | Cod sursa (job #2092769)
/* ( ͡° ͜ʖ ͡°) */
#include <stdio.h>
#include <stdbool.h>
#define MOD 104659
bool mat['z' + 1]['z' + 1];
int ap[1001]['z' + 1];
int main() {
FILE *fin, *fout;
int n, m, i;
int uniq;
unsigned char a, b;
int r;
fin = fopen("nrcuv.in", "r");
fscanf(fin, "%d%d ", &n, &m);
uniq = 0;
for (i = 0; i < m; i++) {
a = fgetc(fin);
fgetc(fin);
b = fgetc(fin);
fgetc(fin);
if (!mat[a][b]) {
mat[a][b] = true;
uniq++;
}
if (!mat[b][a]) {
mat[b][a] = true;
uniq++;
}
}
fclose(fin);
for (a = 'a'; a <= 'z'; a++)
ap[1][a] = 1;
for (i = 2; i <= n; i++) {
for (a = 'a'; a <= 'z'; a++) {
for (b = 'a'; b <= 'z'; b++) {
if (!mat[a][b]) {
ap[i][a] = (ap[i][a] + ap[i - 1][b]) % MOD;
}
}
}
}
r = 0;
for (a = 'a'; a <= 'z'; a++) {
r = (r + ap[n][a]) % MOD;
}
fout = fopen("nrcuv.out", "w");
fprintf(fout, "%d", r);
fclose(fout);
return 0;
}