Cod sursa(job #794575)

Utilizator mariamFiciu Maria mariam Data 6 octombrie 2012 16:06:53
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>

using namespace std;

int v[26][26];

int D[26][1001],i,L,litera,la,m,n,s;

char c1,c2;

int main()
{
	ifstream f("nrcuv.in");
	ofstream g("nrcuv.out");
	f>>n>>m;
	for(i=1;i<=m;i++) {
		f>>c1>>c2;
		v[c1-'a'][c2-'a'] = 1;
		v[c2-'a'][c1-'a'] = 1;
	}
	
	for (i=0;i<=25;i++) {
		D[i][1] = 1;
	}
	
	for (L = 2; L<=n;L++) {
		for (litera = 0; litera <26; litera++) {
			//calculez D[litera][L] gandindu-ma ca pun litera "litera" la finalul unui sir de lungime L
			for (la = 0; la <= 25; la++) {
				if (v[la][litera] == 0) {
					D[litera][L] += D[la][L-1];
					D[litera][L] %= 104659;
				}
			}
		}
	}
	for(i=0;i<=25;i++){
		s+=D[i][n];
		s%=104659;
	}
	g<<s;
	return 0;
}