Cod sursa(job #469076)

Utilizator borsoszalanBorsos Zalan borsoszalan Data 6 iulie 2010 10:08:05
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
int n,m,i,j,k;
int t[27][27];
char a,b;
int din[1001][27];

int main()
{
	freopen("nrcuv.in", "r", stdin);
	freopen("nrcuv.out", "w", stdout);
	scanf("%d %d", &n, &m);
	for(i=1;i<=m;i++)
	{
		scanf("%c%c%c%c", &a,&a, &b, &b);
		t[a-'a'+1][b-'a'+1]=1;
		t[b-'a'+1][a-'a'+1]=1;
	}
	for(i=1;i<=26;i++)
		din[1][i]=1;
	for(i=2;i<=n;i++)
		for(j=1;j<=26;j++)
			for(k=1;k<=26;k++)
				if(t[j][k]==0)
				{
					din[i][j]+=din[i-1][k];
					din[i][j]=din[i][j]%104659;
				}
	int sum=0;
	for(i=1;i<=26;i++)
		sum=(sum+din[n][i])%104659;
	printf("%d\n", sum);
	return 0;
}