Cod sursa(job #648833)

Utilizator an_drey_curentandreycurent an_drey_curent Data 14 decembrie 2011 17:58:29
Problema Lista lui Andrei Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
#include<vector>
#include<fstream>
using namespace std;
long int vecini[125][125];
long int dp[1000][125];
int main()
{
	char c1,c2;
	long int l1,l2,i,suma=0,N,M;
	ifstream f("nrcuv.in");
	ofstream g("nrcuv.out");
	f>>N>>M;
	for(i=1;i<=M;i++)
	{
		f>>c1>>c2;
		vecini[(int)c1][(int)c2]=1;
		vecini[(int)c2][(int)c1]=1;
	}
	for(i='a';i<='z';i++)
		dp[1][i]=1;
	for(i=2;i<=N;i++)
		for(l1='a';l1<='z';l1++)
			for(l2='a';l2<='z';l2++)
				if(vecini[l1][l2]==0)
					dp[i][l2]=( (dp[i-1][l1]%104569) + (dp[i][l2]%104569) )%104659;
	for(i='a';i<='z';i++)
		suma=( (suma%104569) + (dp[N][i]%104569) )%104659;
	g<<(suma%104569);
	return 0;
}