Pagini recente » Cod sursa (job #1575700) | Cod sursa (job #2087091) | Cod sursa (job #724547) | Cod sursa (job #271019) | Cod sursa (job #2036379)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
long long n, m, i, j, a, b, sum, c[33][33], u[30], r[30], mod = 104659;
bool v[30][30], k;
char x, y;
int main () {
fin >> n >> m;
for (i = 1; i <= m; i++)
{
fin >> x >> y;
a = x-96; b = y-96;
if (a > b)
{ j = a; a = b; b = j; }
if (v[a][b] == 0)
{
v[a][b] = 1;
c[a][0]++; c[a][c[a][0]] = b;
if (a != b)
{ c[b][0]++; c[b][c[b][0]] = a; }
}
}
for (i = 1; i <= 26; i++) r[i] = 1;
for (a = 1; a < n; a++)
{
sum = 0;
for (i = 1; i <= 26; i++)
{
for (j = 1; j <= c[i][0]; j++)
u[c[i][j]] -= r[i];
sum += r[i];
}
for (i = 1; i <= 26; i++)
{
u[i] += sum;
u[i] %= mod;
r[i] = u[i];
u[i] = 0;
}
}
sum = 0;
for (i = 1; i <= 26; i++)
{
sum += r[i];
sum %= mod;
}
fout << sum << "\n";
}