Cod sursa(job #693982)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 27 februarie 2012 17:57:12
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<iostream>
#include<fstream>
#define mod 104659
using namespace std;
char p[29][29];// 0 si 1
int a[1012][29];
int sol;
int main(void)
{
	char l1,l2;
	fstream f,g;
	f.open("nrcuv.in",ios::in);
	g.open("nrcuv.out",ios::out);
	int i,n ,m;
	f>>n>>m;
	f.get();
	for (i=1;i<=m;i++)
	{
		f>>l1>>l2;
		p[l1-'a'+1][l2-'a'+1]=p[l2-'a'+1][l1-'a'+1]=1;
	}
	for (i=1;i<=26;i++)
		a[1][i]=1;
	int j,k;
	for (i=2;i<=n;i++)
		for (j=1;j<=26;j++)
			for (k=1;k<=26;k++)
				if (p[j][k]==0)
					a[i][j]=(a[i][j]+a[i-1][k])%mod;
	for (i=1;i<=26;i++)
		sol=(sol+a[n][i])%mod;
	g<<sol;
}