Pagini recente » Cod sursa (job #204947) | Cod sursa (job #144159) | Cod sursa (job #2899311) | Cod sursa (job #2496180) | Cod sursa (job #2100443)
#include <stdio.h>
#include <stdlib.h>
#define Q 104659
int v[26][26];
int val[26][1001];
int calc(int lit,int len){
int i,s=0;
if(val[lit][len]!=0)
return val[lit][len];
for(i=0;i<26;i++)
if(v[lit][i]==0)
s+=calc(i,len-1);
s%=Q;
val[lit][len]=s;
return s;
}
int main()
{
int n,m,s=0,i;
char a,b;
FILE*fi,*fo;
fi=fopen("nrcuv.in","r");
fo=fopen("nrcuv.out","w");
fscanf(fi,"%d%d",&n,&m);
for(i=0;i<m;i++)
{
fgetc(fi);
a=fgetc(fi);
fgetc(fi);
b=fgetc(fi);
a-='a';
b-='a';
v[a][b]=1;
v[b][a]=1;
}
for(i=0;i<26;i++)
val[i][1]=1;
for(i=0;i<26;i++)
s+=calc(i,n);
fprintf(fo,"%d",s%Q);
fclose(fi);
fclose(fo);
return 0;
}