Pagini recente » Borderou de evaluare (job #1235114) | Borderou de evaluare (job #176871) | Borderou de evaluare (job #2204369) | Borderou de evaluare (job #1058672) | Cod sursa (job #3235017)
/*
* Lefter Sergiu - 13/06/2024
*/
#include <fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int N = 1e4;
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) {
int 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 += dp[n][j];
}
out << s;
in.close();
out.close();
return 0;
}