Pagini recente » Cod sursa (job #1058645) | Cod sursa (job #104579) | Cod sursa (job #1663852) | Cod sursa (job #3200314) | Cod sursa (job #2851343)
//
// main.cpp
// Lista lui Andrei (infoarena)
//
// Created by Andrei Bădulescu on 18.02.22.
//
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int MODULO = 104659;
bool posibilitati[27][27];
int totale[27];
int main() {
int n;
in >> n;
int k;
in >> k;
int v[27][n + 1];
for (int i = 1; i <= k; i++) {
char a, b;
in >> a >> b;
posibilitati[a - 'a' + 1][b - 'a' + 1] = 1;
posibilitati[b - 'a' + 1][a - 'a' + 1] = 1;
}
for (int i = 1; i <= 26; i++) {
int sum = 0;
for (int j = 1; j <= 26; j++) {
if (posibilitati[i][j] == 0) {
sum++;
}
}
totale[i] = sum;
v[i][1] = 1;
}
for (int cnt = 2; cnt <= n - 1; cnt++) {
for (int i = 1; i <= 26; i++) {
v[i][cnt] = v[i][cnt - 1] * totale[i] % MODULO;
}
}
int sum = 0;
for (int i = 1; i <= 26; i++) {
sum = (sum + v[i][n - 1]) % MODULO;
}
out << sum;
return 0;
}