Pagini recente » Cod sursa (job #1693650) | Cod sursa (job #3184769) | Cod sursa (job #16990) | Rating palade andrei (malefic) | Cod sursa (job #2086271)
#include <iostream>
#include <cstdio>
using namespace std;
bool b[26][26];
int d[1010][26];
const int MOD = 104659;
int main()
{
freopen("nrcuv.out", "w", stdout);
freopen("nrcuv.in", "r", stdin);
int n, k, sumf = 0;
char x, y;
cin >> n >> k;
for (int i = 0; i < k; ++i) {
cin >> x >> y;
b[x - 'a'][y - 'a'] = true;
b[y - 'a'][x - 'a'] = true;
}
for (int i = 0; i < 26; ++i) {
d[1][i] = 1;
}
for (int i = 2; i <= n; ++i) {
for (int j = 0; j < 26; ++j) {
for (int k = 0; k < 26; ++k) {
if (!b[k][j]) {
d[i][j] += d[i - 1][k];
d[i][j] %= MOD;
}
}
}
}
for (int j = 0; j < 26; ++j) {
sumf += d[n][j];
sumf %= MOD;
}
cout << sumf;
return 0;
}