Pagini recente » Cod sursa (job #3166517) | Cod sursa (job #1020462) | Cod sursa (job #653520) | Cod sursa (job #1918582) | Cod sursa (job #794290)
Cod sursa(job #794290)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fi ("nrcuv.in");
ofstream fo ("nrcuv.out");
const int dim = 1002, mod = 104659;
int N, NR, D[30][dim], M[30][30];
void cit ()
{
fi >> N >> NR;
char c1, c2;
for (int i = 1; i <= NR; i++)
{
fi >> c1 >> c2;
M[c1-'a'][c2-'a'] = M[c2-'a'][c1-'a'] = 1;
}
}
void rez ()
{
int n, c, ca, s = 0;
for (c = 0; c < 26; c++)
D[c][1] = 1;
for (n = 2; n <= N; n++)
for (c = 0; c < 26; c++)
for (ca = 0; ca < 26; ca++)
if (M[c][ca] == 0)
{
D[c][n] += D[ca][n-1];
if (D[c][n] >= mod)
D[c][n] -= mod;
}
for (c = 0; c < 26; c++)
{
s += D[c][N];
if (s >= mod)
s -= mod;
}
fo << s;
}
int main ()
{
cit ();
rez ();
return 0;
}