Cod sursa(job #371230)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 4 decembrie 2009 15:16:13
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<cstdio>
#define N 2001
#define MOD 104659
bool b[30][30];
int n,m1,rez,m[N/2][30];
inline void citire()
{
	char c1, c2;
	freopen("nrcuv.in","r",stdin);
	freopen("nrcuv.out","w",stdout);
	scanf("%d%d\n",&n,&m1);
	for(int i=1; i<=m1; ++i)
	{
		scanf("%c %c\n", &c1, &c2);
		b[c1-'a'][c2-'a']=b[c2-'a'][c1-'a']=true;
	}
}
void nr_cuv()
{
	int i, j, k;
	
	for (i = 0; i <= 25; ++i)
		m[1][i] = 1;
	for (i=2; i<=n; ++i)
		for (j=0; j<=25; ++j)
		{
			for (k = 0; k <= 25; ++k)
				if (b[k][j] == false)
					m[i][j] = (m[i][j] + m[i-1][k]) % MOD;
		}

	for(i=0; i<=25; ++i)
		rez=(rez+m[n][i])%MOD;
	printf("%d",rez%MOD);
}
int main()
{
	citire();
	nr_cuv();
	return 0;
}