Cod sursa(job #194540)

Utilizator andrei.12Andrei Parvu andrei.12 Data 11 iunie 2008 21:15:24
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>

#define BAZA 104659

int n, m, i, a[1005][150], d[150][150], rsp, j, k;
char c1, c2;

int main()
{
	freopen("nrcuv.in", "rt", stdin);
	freopen("nrcuv.out", "wt", stdout);

	scanf("%d%d\n", &n, &m);
	for (i = 1; i <= m; i ++){
		scanf("%c %c\n", &c1, &c2);
		
		d[c1][c2] = 1, d[c2][c1] = 1;
	}

	for (i = 'a'; i <= 'z'; i ++)
		a[1][i] = 1;
	for (i = 1; i < n; i ++)
		for (j = 'a'; j <= 'z'; j ++)
			for (k = 'a'; k <= 'z'; k ++)
				if (!d[j][k])
					a[i+1][k] = (a[i+1][k] + a[i][j]) % BAZA;

	for (i = 'a'; i <= 'z'; i ++)
		rsp = (rsp + a[n][i]) % BAZA;

	printf("%d\n", rsp);

	return 0;
}