Cod sursa(job #573235)

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

int A[26][10000], B[26][26], n, i, j, m, l, sum;
char c1, c2;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");

int main(){
	f>>n>>m;
	for(i=1; i<=m; i++){
		f>>c1>>c2;
		B[c1-'a'][c2-'a'] = B[c2-'a'][c1-'a'] = 1;
	}
	for(i=0; i<=25; i++)
		A[i][1] = 1;
	
	for(i=2; i<=n; i++)
		for(j=0; j<=25; j++)
			for(l=0; l<=25; l++)
				if(B[j][l] == 0){
					A[j][i] += A[l][i-1];
					A[j][i] %= MODULO;
				}
	for(i=0; i<=25; i++){
		sum+=A[i][n];
		sum%=MODULO;
	}
	g<<sum;
	f.close();
	g.close();
	
	return 0;
}