Pagini recente » Cod sursa (job #2842295) | Cod sursa (job #1318502) | Cod sursa (job #1578026) | Cod sursa (job #599701) | Cod sursa (job #424899)
Cod sursa(job #424899)
#include<stdio.h>
FILE*f=fopen("nrcuv.in","r");
FILE*g=fopen("nrcuv.out","w");
int d[27][27],a[1005][27],m,i,u,v,ii,s,j,n;
int main () {
// a[i][j]=numarul de siruri de lungime i care se termina in litera j;
fscanf(f,"%d %d\n",&n,&m);
for(i=1;i<=m;i++){
fscanf(f,"%c %c\n",&u,&v);
u=u-'a'+1;
v=v-'a'+1;
d[u][v]=d[v][u]=1;
}
for(i=1;i<=26;i++)
a[1][i]=1;
for(i=2;i<=n+1;i++){
for(ii=1;ii<=26;ii++){
s=0;
for(j=1;j<=26;j++)
if(d[ii][j]==0)
s+=(a[i-1][j])%104659;
a[i][ii]=s%104659;
}
}
s=0;
for(i=1;i<=26;i++)
s+=(a[n][i])%104659;
fprintf(g,"%d",s%104659);
fclose(f);
fclose(g);
return 0;
}