Cod sursa(job #607254)

Utilizator CS-meStanca Marian Ciprian CS-me Data 11 august 2011 13:28:54
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
using namespace std;

int v[1<<17][1<<5],n,m;
bool a[1<<5][1<<5];

ifstream in("nrcuv.in");
ofstream out("nrcuv.out");

int main()
{
	int i,j,k,s=0;
	char x,y;
	in>>n>>m;
	for (i=1;i<=m;i++)
	{
		in>>x>>y;
		a[x-'a'][y-'a']=a[y-'a'][x-'a']=true;
	}
	for (i=0;i<26;i++)
		v[1][i]=1;
	for (i=2;i<=n;i++)
		for (j=0;j<26;j++)
			for (k=0;k<26;k++)
				v[i][k]=(v[i][k]+v[i-1][j]*(!a[j][k]))%104659;
	for (i=0;i<26;i++)
		s=(s+v[n][i])%104659;
	out<<s<<"\n";
	return 0;
}