Cod sursa(job #794287)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 6 octombrie 2012 09:34:51
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda dinamica_i Marime 0.55 kb
#include <fstream>
#define MOD 104659
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
bool a[28][28];
int m[28][1010], i, j, n, d, k, sum;
char c1, c2;
int main(){
	f>>n>>d;
	for(i=1; i<=d; i++)
	{
		f>>c1>>c2;
		a[c1-'a'][c2-'a']=1;
		a[c2-'a'][c1-'a']=1;
	}
	f.close();
	for(i=0; i<26; i++)
		m[i][1]=1;
	for(j=2; j<=n; j++)
	{
		for(i=0; i<26; i++)
		{
			for(k=0; k<26; k++)
				if(a[i][k]==0)
					m[i][j]+=m[k][j-1];
			m[i][j]=m[i][j]%MOD;
		}
	}
	sum=0;
	for(i=0; i<26; i++)
		sum+=m[i][n];
	g<<sum%MOD;
	g.close();
	return 0;
}