Pagini recente » Cod sursa (job #2229769) | Cod sursa (job #266750) | Cod sursa (job #1640706) | Cod sursa (job #2403764) | Cod sursa (job #473239)
Cod sursa(job #473239)
#include<stdio.h>
#include<string.h>
int n,m,i,j,k,t[27][27];
char a,b;
int din[1001][27];
int main()
{
FILE *f=fopen("nrcuv.in","r"), *g=fopen("nrcuv.out","w");
fscanf(f,"%d %d", &n, &m);
for(i=1;i<=m;i++) // marchez lista lui andrei
{
fscanf(f,"%c%c%c%c", &a,&a, &b, &b);
t[a-'a'+1][b-'a'+1]=1;
t[b-'a'+1][a-'a'+1]=1;
}
// numarul de siruri de lungime i ce contin ultima litera j
for(i=1;i<=26;i++)
din[1][i]=1;
for(i=2;i<=n;i++)
for(j=1;j<=26;j++)
for(k=1;k<=26;k++)
if(t[j][k]==0)
{
din[i][j]+=din[i-1][k];
din[i][j]=din[i][j]%104659;
}
int sum=0;
for(i=1;i<=26;i++)
sum=(sum+din[n][i])%104659;
fprintf(g,"%d\n", sum);
fclose(f);
fclose(g);
return 0;
}