Pagini recente » Cod sursa (job #978453) | Cod sursa (job #1382599) | Cod sursa (job #57916) | Cod sursa (job #2241977) | Cod sursa (job #1200640)
#include <stdio.h>
#define LIT 26
#define MOD 104659
#define MAXN 1000
char nbn[LIT][LIT];
int tab[MAXN + 1][LIT];
int main(){
FILE *in = fopen("nrcuv.in", "r");
int n, m;
fscanf(in, "%d%d ", &n, &m);
int i, a, b;
for(i = 0; i < m; i++){
a = fgetc(in); fgetc(in);
b = fgetc(in); fgetc(in);
nbn[a - 'a'][b - 'a'] = 1;
nbn[b - 'a'][a - 'a'] = 1;
}
fclose(in);
for(i = 0; i < 26; i++) tab[1][i] = 1;
int j, k;
for(i = 1; i < n; i++){
for(j = 0; j < 26; j++){
for(k = 0; k < 26; k++){
if(!nbn[j][k]){
tab[i + 1][k] += tab[i][j];
tab[i + 1][k] %= MOD;
}
}
}
}
int rez = 0;
for(i = 0; i < 26; i++){
rez += tab[n][i];
rez %= MOD;
}
FILE *out = fopen("nrcuv.out", "w");
fprintf(out, "%d", rez);
fclose(out);
return 0;
}