Cod sursa(job #275102)

Utilizator andumMorie Daniel Alexandru andum Data 10 martie 2009 11:00:04
Problema Lista lui Andrei Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#define M 104659

long n,m,a[27][27],v[101][27],i,j,k,s;
char x,y;

int main()
{
 freopen("nrcuv.in","r",stdin);
 freopen("nrcuv.out","w",stdout);

 scanf("%ld %ld", &n, &m);
 scanf("%c", &x);
 for (i=1;i<=m;i++)
	{
	 scanf("%c %c", &x, &y);
	 a[int(x)-96][int(y)-96]=1;
	 a[int(y)-96][int(x)-96]=1;
	 scanf("%c", &x);
	}
 for (i=1;i<=26;i++)
	v[1][i]=1;
 for (i=2;i<=n;i++)
 for (j=1;j<=26;j++)
 for (k=1;k<=26;k++)
	if (a[k][j]==0)
		v[i][j]+=v[i-1][k];
 for (i=1;i<=26;i++)
	s+=v[n][i]%M;
 printf("%ld", s);
 return 0;
}