Pagini recente » Cod sursa (job #233478) | Cod sursa (job #1887827)
#include <stdio.h>
#define N 1000
#define L 150
#define mod 104659
int n,m,i,j,k;
int d[N][L],v[L]; /// v['a']=cate litere pot sa stea langa 'a'
bool p[L][L];
char a,b;
int main()
{
FILE *f1,*f2;
f1=fopen("nrcuv.in","r");
f2=fopen("nrcuv.out","w");
fscanf(f1,"%d%d\n",&n,&m);
for(i='a';i<='z';i++)
{
v[i]=26;
d[1][i]=1;
}
for(i=0;i<m;i++)
{
fscanf(f1,"%c %c\n",&a,&b);
if(!p[a][b])
{
p[a][b]=p[b][a]=true;
if(a==b)
v[a]--;
else
{
v[a]--;
v[b]--;
}
}
}
for(i=2;i<=n;i++)
for(j='a';j<='z';j++)
for(k='a';k<='z';k++)
if(!p[j][k])
{
d[i][j]+=d[i-1][k];
if(d[i][j]>=mod)
d[i][j]-=mod;
}
long long sol=0;
for(i='a';i<='z';i++)
sol+=d[n][i];
fprintf(f2,"%lld\n",sol%mod);
return 0;
}