Pagini recente » Cod sursa (job #2188478) | Cod sursa (job #183246) | Cod sursa (job #256123) | Cod sursa (job #3040516) | Cod sursa (job #2593212)
#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 <= 26; i ++)
nr [1] [i] = 1;
for (int i = 2; i <= n; i ++)
for (int j = 0; j <= 25; j ++)
for (int k = 0; k <= 25; k ++) {
if (!vc [j] [k])
nr [i] [j] += nr [i - 1] [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;
}