Pagini recente » Cod sursa (job #1989805) | Cod sursa (job #1786164) | Cod sursa (job #3158427) | Cod sursa (job #2621406) | Cod sursa (job #3168327)
#include <fstream>
#define MOD 104659
bool frec[30][30];
int dp[1005][30], n, m, sol = 0;
char x, y;
int main() {
std::ifstream fin("nrcuv.in");
std::ofstream fout("nrcuv.out");
fin >> n >> m;
for (int i = 1; i <= m; i++) {
fin >> x >> y;
frec[x - 'a' + 1][y - 'a' + 1] = 1;
frec[y - 'a' + 1][x - 'a' + 1] = 1;
}
for (int i = 1; i <= 26; i++)
dp[1][i] = 1;
for (int i = 2; i <= n; i++) {
for (int j = 1; j <= 26; j++) {
for (int k = 1; k <= 26; k++) {
if (frec[j][k] == 0) {
dp[i][j] = (dp[i][j] + dp[i - 1][k]) % MOD;
}
}
}
}
for (int i = 1; i <= 26; i++) {
sol = (sol + dp[n][i]) % MOD;
}
fout << sol;
return 0;
}