Cod sursa(job #183871)

Utilizator razvi9Jurca Razvan razvi9 Data 22 aprilie 2008 18:03:26
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>
int n,a[1001][26],l[26][26],m,i,j,k;
const int mod=104659;
int main()
{
	freopen("nrcuv.in","r",stdin);
	freopen("nrcuv.out","w",stdout);
	scanf("%d %d",&n,&m);
	for(char a,b;m;--m)
	{
		scanf(" %c %c",&a,&b);
		a-='a';b-='a';
		l[a][b]=l[b][a]=1;
	}
	for(i=0;i<26;i++) a[1][i]=1;
	for(i=2;i<=n;i++)
		for(j=0;j<26;j++)
			for(k=0;k<26;k++)
				if(l[j][k]==0)
				{
					a[i][j]+=a[i-1][k];
					if(a[i][j]>=mod) a[i][j]-=mod;
				}
	for(i=0;i<26;i++)
		m+=a[n][i];
	m%=mod;
	printf("%d\n",m);
	fclose(stdout);
	return 0;
}