Pagini recente » Cod sursa (job #3134257) | Cod sursa (job #559000) | Cod sursa (job #1227550) | Cod sursa (job #1582323) | Cod sursa (job #341313)
Cod sursa(job #341313)
#include <cstdio>
#define MAXN 10001
#define MAXS 27
#define MOD 104659
#define Z 'z'-'a'
using namespace std;
int N, M, m[MAXS][MAXS], a[MAXN][MAXS], sol;
int main() {
int i, j, k;
char x, y;
freopen("nrcuv.in", "r", stdin);
freopen("nrcuv.out", "w", stdout);
scanf("%d %d\n", &N, &M);
for (i=1; i<=M; ++i) {
scanf("%c %c\n", &x, &y);
m[x-'a'][y-'a']=m[y-'a'][x-'a']=1;
}
for (j=0; j<=Z; ++j) a[1][j]=1;
for (i=2; i<=N; ++i)
for (j=0; j<=Z; ++j)
for (k=0; k<=Z; ++k)
if (!m[j][k]) a[i][j]=(a[i][j]+a[i-1][k])%MOD;
for (sol=0, j=0; j<=Z; ++j) sol=(sol+a[N][j])%MOD;
printf("%d\n", sol);
return 0;
}