Cod sursa(job #833151)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 11 decembrie 2012 22:46:06
Problema Lista lui Andrei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MOD = 104659;

bool Blocked[150][150];
int Best[1010][150];

int main ()
{
	int N, M, i, Ans = 0;
	char j, k;
	char a, b;
	
	in >> N >> M;
	
	while (M --){
		in >> a >> b;
		Blocked[a][b] = 1;
		Blocked[b][a] = 1;
	}
	
	for (i = 1; i <= N; i ++)
		Best[1][i] = 1;
	
	for (i = 1; i <= N; i ++)
		for (j = 'a'; j <= 'z'; j ++)
			for (k = 'a'; k <= 'z'; k ++)
				if (!Blockez[j][k])
					Best[i][j] = (Best[i - 1][j] + Best[i][k]) % MOD;
				
	for (j = 'a'; j <= 'z'; j ++)
		Ans = (Ans + Best[N][j]) % MOD;
	
	out << Ans;
	
	return 0;
}