Pagini recente » Cod sursa (job #3253381) | Cod sursa (job #3003726) | Cod sursa (job #292129) | Cod sursa (job #2719899) | Cod sursa (job #3235019)
/*
* Lefter Sergiu - 13/06/2024
*/
#include <fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int N = 1e3;
const int MOD = 104659;
int dp[N + 1][26], perechi[26][26];
int n, m, s;
int main() {
in >> n >> m;
for (int i = 0; i < m; ++i) {
char x1, x2;
in >> x1 >> x2;
perechi[x1][x2] = perechi[x2][x1] = false;
}
for (int j = 0; j < 26; ++j) {
dp[1][j] = 1;
}
for (int i = 2; i <= n; ++i) {
for (int j = 0; j < 26; ++j) {
for (int k = 0; k < 26; ++k) {
if (!perechi[j][k]) {
dp[i][j] = (dp[i][j] + dp[i - 1][k]) % MOD;
}
}
}
}
for (int j = 0; j < 26; ++j) {
s = (s + dp[n][j]) % MOD;
}
out << s;
in.close();
out.close();
return 0;
}