Cod sursa(job #701737)

Utilizator ms-ninjacristescu liviu ms-ninja Data 1 martie 2012 17:39:27
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;

int mod=104659;
int uz[30][30];
int mat[1005][30],sol,n,m;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");

void read()
{
	int i;
	char a, b;
	fin>>n >>m;
	for(i=1;i<=m;++i)
	{
		fin>>a >>b;
		uz[a-96][b-96]=1;
		uz[b-96][a-96]=1;
	}
}

void solve()
{
	int i, j;
	for(i=1;i<=26;++i)
		mat[1][i]=1;
	
	for(i=2;i<=n;++i)
		for(j=1;j<=26;++j)
			for(int k=1;k<=26;++k)
				if(uz[j][k]==0)
					mat[i][j]=(mat[i][j]+mat[i-1][k])%mod;
	
	for(i=1;i<=26;++i)
		sol=(sol+mat[n][i])%mod;
	fout<<sol;
}

int main()
{
	read();
	solve();
	
	
	return 0;
}