Pagini recente » Cod sursa (job #882243) | Cod sursa (job #458915) | Cod sursa (job #2642532) | Cod sursa (job #1661902) | Cod sursa (job #602239)
Cod sursa(job #602239)
#include <cstdio>
#define MAXN 1005
#define LET 26
#define MOD 104659
int A[LET][LET], W[LET][MAXN];
int main(){
freopen("nrcuv.in", "r", stdin);
freopen("nrcuv.out", "w", stdout);
int N, M, i, j, k;
char a, b;
scanf("%d %d\n", &N, &M);
for(i=1; i<=M; i++){
scanf("%c %c\n", &a, &b);
A[(int)(a-'a')][(int)(b-'a')]=A[(int)(b-'a')][(int)(a-'a')]=1;
}
for(i=0; i<LET; i++)
W[i][1]=1;
for(j=2; j<=N; j++)
for(i=0; i<LET; i++)
for(k=0; k<LET; k++)
if(!A[i][k])
W[i][j]=(W[i][j]+W[k][j-1])%MOD;
k=0;
for(i=0; i<LET; i++)
k=(k+W[i][N])%MOD;
printf("%d\n", k);
return 0;
}