Cod sursa(job #689230)

Utilizator beldeabogdanBogdan Beldea beldeabogdan Data 24 februarie 2012 11:16:33
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
using namespace std;
long int vecini[125][125],dp[1005][125],l1,l2,i,suma=0,n,m;
char c1,c2;
int main() {
	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]%104659)+(dp[i][l2]%104659))%104659;
	for(i='a';i<='z';i++) suma=((suma%104659)+(dp[n][i]%104659))%104659;
	g<<suma;
	return 0;
}