Pagini recente » Cod sursa (job #2165265) | Cod sursa (job #2405644) | Cod sursa (job #1439272) | Borderou de evaluare (job #1685655) | Cod sursa (job #1559491)
#include<cstdio>
#include<bitset>
#define MOD 104659
#define DIM 1001
using namespace std;
int M, N, sol, i, j, k;
int w[DIM][26];
char X, Y;
bitset <26> v[26];
char S[5];
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d\n", &N, &M);
for (i = 1; i <= M; i++)
{
gets(S); X = S[0], Y = S[2];
v[X - 'a'][Y - 'a'] = v[Y - 'a'][X - 'a'] = 1;
}
for (i = 0; i < 26; i++)
w[0][i] = 1;
for (i = 1; i < N; i++)
for (j = 0; j < 26; j++)
for (k = 0; k < 26; k++)
if (!v[k][j])
w[i][j] = (w[i][j] + w[i - 1][k]);
for (i = 0; i < 26; i++)
sol = (sol + w[N - 1][i]) % MOD;
printf("%d\n", sol);
}