Pagini recente » Cod sursa (job #1537441) | Cod sursa (job #2737219) | Cod sursa (job #2581423) | Cod sursa (job #2825510) | Cod sursa (job #1783167)
#include <stdio.h>
#include <stdlib.h>
#define MOD 104659
#define MAXLIT 26
#define MAXN 1000
int dp[MAXN+1][MAXLIT], comb[MAXLIT][MAXLIT];
int main()
{
FILE *fin, *fout;
int n, m, i, j, k;
char l1, l2;
fin=fopen("nrcuv.in", "r");
fscanf(fin, "%d%d ", &n, &m);
for(i=0; i<m; i++){
fscanf(fin, "%c %c ", &l1, &l2);
comb[l1-'a'][l2-'a']=comb[l2-'a'][l1-'a']=1;
}
fclose(fin);
for(i=0; i<MAXLIT; i++)
dp[1][i]=1;
for(i=2; i<=n; i++)
for(j=0; j<MAXLIT; j++)
for(k=0; k<MAXLIT; k++)
if(comb[j][k]==0)
dp[i][j]=(dp[i][j]+dp[i-1][k])%MOD;
k=0;
for(i=0; i<MAXLIT; i++)
k=(k+dp[n][i])%MOD;
fout=fopen("nrcuv.out", "w");
fprintf(fout, "%d\n", k);
fclose(fout);
return 0;
}