Pagini recente » Cod sursa (job #1933946) | Cod sursa (job #2157532) | Cod sursa (job #1449656) | Cod sursa (job #2865153) | Cod sursa (job #1528431)
#include<cstdio>
using namespace std;
const int nrLit = 26, nMax = 1000, MOD = 104659;
bool p[nrLit][nrLit];
int din[nMax][nrLit];
int n, m;
int main (){
FILE *in = fopen("nrcuv.in","r");
fscanf(in,"%d%d\n", &n, &m);
char a, b;
for(int i = 0 ; i < m ; ++i){
a = fgetc(in);
fgetc(in);
b = fgetc(in);
fgetc(in);
a -= 'a', b -= 'a';
p[(int)b][(int)a] = true;
p[(int)a][(int)b] = true;
}
fclose(in);
for(int i = 0 ; i < nrLit ; ++i) din[0][i] = 1;
for(int i = 1 ; i < n ; ++i){
for(int j = 0 ; j < nrLit ; ++j){
for(int k = 0 ; k < nrLit ; ++k){
if(!p[j][k]){
din[i][j] = (din[i][j] + din[i - 1][k]) % MOD;
}
}
}
}
int s = 0;
for(int i = 0 ; i < nrLit ; ++i) s = (s + din[n - 1][i]) % MOD;
FILE *out = fopen("nrcuv.out","w");
fprintf(out,"%d\n", s);
fclose(out);
return 0;
}