Cod sursa(job #3308853)

Utilizator mihai.25Calin Mihai mihai.25 Data 28 august 2025 18:43:37
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

#include <vector>

using namespace std;

ifstream fin ("nrcuv.in");

ofstream fout ("nrcuv.out");

int main () {

	int n, m;

	fin >> n >> m;

	vector<vector<int>> mat (123, vector<int> (123));

	while (m--) {

		char a, b;

		fin >> a >> b;

		mat[a][b] = 1;

		mat[b][a] = 1;
	}

	const int mod = 104659;

	vector<vector<int>> dp (123, vector<int> (n + 1));

	for (int i = 97; i <= 122; ++i)
		dp[i][1] = 1;
	
	for (int i = 2; i <= n; ++i)
		for (int j = 97; j <= 122; ++j)
			for (int k = 97; k <= 122; ++k)
				if (mat[k][j] == 0)
					dp[j][i] = (dp[j][i] % mod + dp[k][i - 1] % mod) % mod;
	
	int cnt = 0;

	for (int i = 97; i <= 122; ++i)
		cnt = (cnt % mod + dp[i][n] % mod) % mod;
	
	fout << cnt;

	return 0;
}