Pagini recente » Cod sursa (job #506951) | Cod sursa (job #2185386) | Cod sursa (job #1420971) | Cod sursa (job #2084161) | Cod sursa (job #2285600)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
bool s[30][30];
int v[30];
int d[1005][30];
int main()
{
int n, m;
char a, b;
fin >> n >> m;
for (int i = 1; i <= m; i++)
{
fin >> a >> b;
s[a - 'a' + 1][b - 'a' + 1] = 1;
s[b - 'a' + 1][a - 'a' + 1] = 1;
}
for (int i = 1; i <= 26; i++)
d[1][i] = 1;
for (int i = 2; i <= n; i++)
for (int j = 1; j <= 26; j++)
{
for (int k = 1; k <= 26; k++)
if (s[j][k] == 0)
d[i][j] += d[i - 1][k];
d[i][j] %= 104659;
}
int s = 0;
for (int i = 1; i <= 26; i++)
s += d[n][i];
fout << s % 104659 << '\n';
return 0;
}