Pagini recente » Cod sursa (job #689094) | Cod sursa (job #3033301) | Cod sursa (job #1124460) | Cod sursa (job #1681697) | Cod sursa (job #1023885)
#include <stdio.h>
int n,m;
char x[2000];
int valid(int );
FILE *f=fopen("nrcuv.in","r"),*q=fopen("nrcuv.out","w");
struct nrcuv
{
char a,b;
};
nrcuv l[2000];
int main()
{
int k,g,i;
long s=0;
char r,t;
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;i++)
fscanf(f,"%c%c%c%c",&r,&l[i].a,&t,&l[i].b);
k=1;
x[k]='`';
while(k>0)
{
g=0;
while((g==0) && (x[k]<'z'))
{
x[k]++;
if(valid(k))
g=1;
}
if(g==1)
if(k==n)
s++;
else
{
k++;
x[k]='`';
}
else
k--;
}
fprintf(q,"%ld",s%104659);
}
int valid(int k)
{
int ok=1,i;
for(i=1;i<=m;i++)
if(((x[k]==l[i].b)&&(x[k-1]==l[i].a))||((x[k]==l[i].a)&&(x[k-1]==l[i].b)))
ok=0;
return ok;
}