Pagini recente » Cod sursa (job #2328772) | Cod sursa (job #2143406) | Cod sursa (job #2106328) | Cod sursa (job #2586779) | Cod sursa (job #1535089)
#define MOD 104659
#include <cstdio>
FILE *fin = fopen("nrcuv.in", "r");
FILE *fout = fopen("nrcuv.out", "w");
using namespace std;
int restrictie[26][26], mat[26][1003];
char c1, c2;
int n, m, s;
int main()
{
fscanf(fin, "%d%d", &n, &m);
for(int i = 1; i <= m; i++)
{
fscanf(fin, "\n%c %c", &c1, &c2);
restrictie[c1-'a'][c2-'a'] = restrictie[c2-'a'][c1-'a'] = 1;
}
for(int i = 0; i < 26; i++)
mat[i][1] = 1;
for(int i = 2; i <= n; i++)
{
for(int j = 0; j <= 25; j++)
{
for(int k = 0; k <= 25; k++)
{
if(restrictie[k][j] == 0)
{
mat[j][i] += mat[k][i-1];
mat[j][i] %= MOD;
}
}
}
}
for(int i = 0; i < 26; i++)
{
s += mat[i][n];
s %= MOD;
}
fprintf(fout, "%d\n", s);
return 0;
}