Cod sursa(job #193798)

Utilizator raduzerRadu Zernoveanu raduzer Data 7 iunie 2008 11:09:49
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>

int n,m,i,j,k,a[30][30],b[1010][30],s;
char x,y;

int main()
{
	freopen("nrcuv.in","r",stdin);
	freopen("nrcuv.out","w",stdout);
	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]=1; a[y-'a'+1][x-'a'+1]=1; }
	for (i=1; i<=26; ++i) b[1][i]=1;
	for (i=2; i<=n; ++i)
		for (j=1; j<=26; ++j)
			for (k=1; k<=26; ++k) if (!a[j][k]) b[i][j]=(b[i][j]+b[i-1][k])%104659;
	for (i=1; i<=26; ++i) s=(s+b[n][i])%104659;
	printf("%d",s);
	return 0;
	
}