Pagini recente » Cod sursa (job #557448) | Cod sursa (job #1830092) | Cod sursa (job #3171931) | Cod sursa (job #1867446) | Cod sursa (job #2611030)
#include <stdio.h>
#include <stdlib.h>
#define NMAX 1000
#define MOD 104659
int ok[NMAX+1][NMAX+1],d[27][NMAX+1];
int main()
{
FILE *fin,*fout;
fin=fopen("nrcuv.in","r");
fout=fopen("nrcuv.out","w");
int n,m,i,j,nr,c;
char a;
char b;
fscanf(fin,"%d%d\n",&n,&m);
for(i=1;i<=m;i++){
a=fgetc(fin);
fgetc(fin); ///spatiu
b=fgetc(fin);
ok[a][b]=ok[b][a]=1; ///marcam perechile interzise
fgetc(fin); ///\n
}
for(j='a';j<='z';j++){ ///initializare
d[1][j]=1;
}
for(i=1;i<=26;i++){
for(j='a';j<='z';j++){
for(c='a';c<='z';c++){
if(ok[j][c]!=1){
d[i][j]=(d[i][j]%MOD+d[i-1][c]%MOD)%MOD;
}
}
}
}
nr=0;
for(j='a';j<='z';j++){
nr=(nr%MOD+d[n][j]%MOD)%MOD;
}
fprintf(fout,"%d",nr);
fclose(fin);
fclose(fout);
return 0;
}