Cod sursa(job #743440)

Utilizator Victor10Oltean Victor Victor10 Data 4 mai 2012 14:46:51
Problema Lista lui Andrei Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>
#define MOD 104659

bool verif [30] [30];
int v [1005];
int n, k;

void back (int i) {
	int j;
	if (i == n + 1) {
		++ k;
	//	if (k == MOD) k = 0;
		return ;
	}
	for (j = 0; j < 26; ++ j) {
		v [i] = j;
		if (! verif [v [i]] [v [i - 1]]) {
			back (i + 1);
		}
	}
}

int main () {
	
	freopen ("nrcuv.in", "r", stdin);
	freopen ("nrcuv.out", "w", stdout);
	
	char x, y;
	int m, i;
	
	scanf ("%d %d", &n, &m);
	
	for (i = 1; i <= m; ++ i) {
		scanf ("\n%c %c", &x, &y);
		verif [x - 'a'] [y - 'a'] = 1;
		verif [y - 'a'] [x - 'a'] = 1;
	}
	
	v [0] = 'z' - 'a' + 1;
	back (1);
	
	printf ("%d\n", k);
}