Pagini recente » Cod sursa (job #1259267) | Cod sursa (job #1746349) | Cod sursa (job #2457125) | Cod sursa (job #315757) | Cod sursa (job #2593204)
#include <fstream>
using namespace std;
ifstream in ("nrcuv.in");
ofstream out ("nrcuv.out");
bool vc [26] [26];
int nr [1001] [26];
const int VM = 104659;
int main() {
int n, p, rez;
char a, b;
in >> n >> p;
for (int i = 1; i <= p; i ++) {
in >> a >> b;
vc [a - 'a'] [b - 'a'] = true;
vc [b - 'a'] [a - 'a'] = true;
}
for (int i = 0; i <= 25; i ++)
for (int j = 0; j <= 25; j ++)
nr [2] [i] += !vc [i] [j];
for (int i = 3; i <= n; i ++)
for (int j = 0; j <= 25; j ++)
for (int k = 0; k <= 25; k ++) {
nr [i] [j] += !vc [j] [k];
if (nr [i] [j] >= VM)
nr [i] [j] -= VM;
}
rez = 0;
for (int i = 0; i <= 25; i ++) {
rez += nr [n] [i];
if (rez >= VM)
rez -= VM;
}
out << rez;
return 0;
}