Pagini recente » Cod sursa (job #3171721) | Cod sursa (job #2063159) | Cod sursa (job #1680172) | Cod sursa (job #1012531) | Cod sursa (job #2041337)
#include <cstdio>
FILE *fin, *fout;
int n, m;
char l[2001], r[2001];
int dp[26][1001];
bool chk[26][26];
#define mod 104659
int main() {
fin = fopen("nrcuv.in", "r");
fout = fopen("nrcuv.out", "w");
fscanf(fin, "%d%d", &n, &m);
fgetc(fin);
for(int i = 1;i <= m;i++)
fscanf(fin, "%c %c\n", &l[i], &r[i]), l[i] -= 'a', r[i] -= 'a',
chk[l[i]][r[i]] = chk[r[i]][l[i]] = 1;
for(int i = 1;i <= 1;i++) {
for(int j = 0;j < 26;j++)
dp[j][i]++;
}
for(int i = 2;i <= n;i++) {
for(int j = 0;j < 26;j++)
for(int k = 0;k < 26;k++) {
if(chk[j][k] == 0) {
dp[j][i] += dp[k][i - 1];
dp[j][i] %= mod;
}
}
}
int ans = 0;
for(int i = 0;i < 26;i++)
ans += dp[i][n], ans %= mod;
fprintf(fout, "%d", ans % mod);
fclose(fin);
fclose(fout);
return 0;
}