Cod sursa(job #1231901)

Utilizator apopeid15Apopei Daniel apopeid15 Data 21 septembrie 2014 18:20:59
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
#define MOD 104659

using namespace std;

int n,m,dp[1001][26],v[26][26];

int main()
{  ifstream fin("nrcuv.in");
   ofstream fout("nrcuv.out");
	char x,y;
	int i,j,k;
	fin>>n>>m;
	while(m--)
	{
		fin>>x>>y;
		v[x-'a'][y-'a']=v[y-'a'][x-'a']=1;
	}
	for(i=0;i<26;++i)
		dp[1][i]=1;
	for(i=2;i<=n;++i)
		for(j=0;j<26;++j)
			for(k=0;k<26;++k)
				if(!v[j][k])
					dp[i][k]=(dp[i][k]+dp[i-1][j])%MOD;
	for(i=0;i<25;++i)
		dp[n][25]+=dp[n][i];
	fout<<dp[n][25]%MOD<<"\n";
	return 0;
}