Cod sursa(job #824051)

Utilizator dariusdariusMarian Darius dariusdarius Data 25 noiembrie 2012 20:21:16
Problema Lista lui Andrei Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#define M 104659
using namespace std;
int d[1007][30],nu[30][30];
int main ()
{
	freopen("nrcuv.in","r",stdin);
	freopen("nrcuv.out","w",stdout);
	int n,m,i,l1,l2,nr=0;char a,b;
	scanf("%d %d\n",&n,&m);
	for(i=1;i<=m;i++)
	{
		scanf("%c %c\n",&a,&b);
		nu[a-'a'][b-'a']=1;
	}
	for(i=0;i<=25;i++)
		d[1][i]=1;
	for(i=2;i<=n;i++)
		for(l1=0;l1<=25;l1++)
			for(l2=0;l2<=25;l2++)
				if(nu[l2][l1]==0)
					d[i][l1]=(d[i][l1]+d[i-1][l2])%M;
	for(i=0;i<=25;i++)
		nr=(nr+d[n][i])%M;
	printf("%d\n",nr);
	return 0;
}