Pagini recente » Cod sursa (job #371090) | Cod sursa (job #1950049) | Cod sursa (job #2015734) | Cod sursa (job #1035350) | Cod sursa (job #1962480)
#include <cstdio>
char getch(FILE *fin) {
char ch = fgetc(fin);
while(ch == ' ' || ch == '\n')
ch = fgetc(fin);
return ch;
}
const int MAX_N = 1000;
const int MOD = 104659;
bool muchie[26][26];
int d[MAX_N][26];
int main() {
int n, m;
char a, b;
FILE *fin = fopen("nrcuv.in", "r");
fscanf(fin, "%d%d", &n, &m);
for(int i = 0; i < m; ++i) {
a = getch(fin) - 'a';
b = getch(fin) - 'a';
muchie[a][b] = muchie[b][a] = true;
}
fclose(fin);
for(int i = 0; i < 26; ++i)
d[0][i] = 1;
for(int i = 1; i < n; ++i) {
for(int j = 0; j < 26; ++j)
for(int k = 0; k < 26; ++k)
if(!muchie[j][k])
d[i][j] = (d[i][j] + d[i - 1][k]) % MOD;
}
FILE *fout = fopen("nrcuv.out", "w");
int r = 0;
for(int i = 0; i < 26; ++i)
r = (r + d[n - 1][i]) % MOD;
fprintf(fout, "%d", r);
fclose(fout);
return 0;
}