Cod sursa(job #775102)

Utilizator lucian666Vasilut Lucian lucian666 Data 7 august 2012 12:33:43
Problema Lista lui Andrei Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb


#include<fstream>
#define MOD 104659
#define NN 1001

using namespace std;
ofstream out("nrcuv.out");

bool v[30][30];
int a[NN][27],n,m,ans;

void read();
void dinamica();
void init();

int main()
{
	read();
	init();
	dinamica();
	out<<ans;
	return 0;
}


void read()
{
	ifstream in("nrcuv.in");
	in>>n>>m;
	for( char x,y ; m ;--m)
	{
		in>>x>>y;
		v[x-'a'][y-'a']=v[y-'a'][x-'a']=true;
	}
}

void init()
{
	for(int i=1;i<=26;++i)
		a[1][i]=1;
}

void dinamica()
{
	for(int i=2;i<=n;++i)
		for(int j=1;j<=26;++j)
			for(int k=1;k<=26;++k)
				if( v[j][k] == false)
					a[i][j]= (a[i][j]+a[i-1][k]) % MOD;
				
	for(int j=1;j<=26;++j)
	ans= (ans + a[n][j] ) % MOD	;
}