Pagini recente » Cod sursa (job #384533) | Cod sursa (job #2293886) | Cod sursa (job #486162) | Cod sursa (job #187893) | Cod sursa (job #3204355)
#include <iostream>
#include <fstream>
using namespace std;
#define mod 104659
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
bool v[26][26] = {};
int d[26][1001] = {};
int main() {
int n, m;
fin >> n >> m;
char l1, l2;
for (int i = 0; i < m; i++)
{
fin >> l1 >> l2;
v[l1 - 'a'][l2 - 'a'] = v[l2 - 'a'][l1 - 'a'] = 1;
}
for (int i = 0; i < 26; i++)
d[i][1] = 1;
for (int i = 2; i <= n; i++)
{
for (int l = 0; l < 26; l++)
{
d[l][i] = 0;
for (int ll = 0; ll < 26; ll++)
{
if (v[l][ll] == 0)
d[l][i] += d[ll][i - 1] % mod;
}
}
}
int sum = 0;
for (int i = 0; i < 26; i++)
sum += d[i][n] % mod;
fout << sum;
}