Cod sursa(job #277874)

Utilizator DraStiKDragos Oprica DraStiK Data 11 martie 2009 22:48:59
Problema Lista lui Andrei Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#define DIM 1005
#define ABC 30
int v[DIM][ABC],a[ABC][ABC];
int n,m,s;
void read ()
{
	char x,y;
	int i;
	scanf ("%d%d\n",&n,&m);
	for (i=1; i<=m; ++i)
	{
		scanf ("%c %c\n",&x,&y);
		a[x-'a'+1][y-'a'+1]=a[y-'a'+1][x-'a'+1]=1;
	}
}
void solve ()
{
	int i,j,k;
	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])
					v[i][j]=(v[i][j]+v[i-1][k])%104659;
	for (i=1; i<=26; ++i)
		s+=v[n][i];
	printf ("%d",s);
}
int main ()
{
    freopen ("nrcuv.in","r",stdin);
    freopen ("nrcuv.out","w",stdout);
    read ();
    solve ();
    return 0;
}