Cod sursa(job #573231)

Utilizator DrakeDemonSebestin Dragos DrakeDemon Data 6 aprilie 2011 08:06:24
Problema Lista lui Andrei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
//#include<iostream.h>
#include<fstream.h>
#define MODULO 4001

int A[26][100000], B[26][26], n, i, j, m, l, sum;
char a, b;

int main(){
	ifstream f("nrcuv.in");
	ofstream g("nrcuv.out");
	f>>n>>m;
	for(i=1; i<=m; i++){
		f>>a>>b;
		B[a-'a'][b-'a'] = B[b-'a'][a-'a'] = 1;
	}
	for(i=0; i<=25; i++)
		A[i][1] = 1;
	for(i=2; i<=n; i++)
		for(j=0; j<26; j++)
			for(l=0; l<26; l++)
				if(B[j][l] == 0){
					A[j][i] += A[l][i-1];
					A[j][i] %= MODULO;
				}
	for(i=1; i<=n; i++){
		sum+=A[i][n];
		sum%=MODULO;
	}
	g<<sum;
	
	
	return 0;
}