Pagini recente » Cod sursa (job #2469949) | Cod sursa (job #2289605) | Cod sursa (job #933119) | Cod sursa (job #2297371) | Cod sursa (job #3343953)
#include <fstream>
using namespace std;
const int N = 1000;
const int NL = 26;
const int MOD = 104659;
int nrc[N + 1][NL];
bool incomp[NL][NL];
int main() {
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int n, m;
in >> n >> m;
for (int i = 0; i < m; i++) {
char x, y;
in >> x >> y;
incomp[x - 'a'][y - 'a'] = incomp[y - 'a'][x - 'a'] = true;
}
in.close();
for (int j = 0; j < NL; j++) {
nrc[1][j] = 1;
}
for (int i = 2; i <= n; i++) {
for (int j = 0; j < NL; j++) {
for (int k = 0; k < NL; k++) {
if (!incomp[k][j]) {
nrc[i][j] = (nrc[i][j] + nrc[i - 1][k]) % MOD;
}
}
}
}
int rez = 0;
for (int j = 0; j < n ; j++) {
rez = (rez + nrc[n][j]) % MOD;
}
out << rez << "\n";
out.close();
return 0;
}