Pagini recente » Cod sursa (job #2568115) | Cod sursa (job #2918205) | Cod sursa (job #2642235) | Cod sursa (job #2822471) | Cod sursa (job #1023855)
#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;
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;i++)
{
fscanf(f,"%c",&l[i].a);
while(((int)l[i].a==32)||((int)l[i].a==10))
fscanf(f,"%c",&l[i].a);
fscanf(f,"%c",&l[i].b);
while(((int)l[i].b==10)||((int)l[i].b==32))
fscanf(f,"%c",&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;
}