Cod sursa(job #194471)

Utilizator za_wolfpalianos cristian za_wolf Data 10 iunie 2008 23:34:50
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#define NMAX 1010
#define MMAX 36
#define eps 104659
long b,y[MMAX][MMAX],i,j,n,m,k,l,a,x[NMAX][MMAX];
char  c,s[MMAX];
int main()
{
	freopen("nrcuv.in","r",stdin);
	freopen("nrcuv.out","w",stdout);
	scanf("%ld%ld%c",&n,&m,&c);
	for (i=1;i<=m;i++)
	{
		gets(s);
		a=s[0]-96;
		b=s[2]-96;
		y[a][b]=1;
		y[b][a]=1;
	}
	for (i=1;i<=26;i++)
		x[1][i]=1;

	for (i=2;i<=n;i++)
	{
		for (j=1;j<=26;j++)
		{
			k=0;
			for (l=1;l<=26;l++)
				if (y[j][l]==0)
					k=(k+x[i-1][l])%eps;
			x[i][j]=k%eps;
		}
	}
	k=0;
	for (i=1;i<=26;i++)
		k=(k+x[n][i])%eps;
	printf("%ld\n",k);

	return 0;
}