Pagini recente » Cod sursa (job #173106) | Cod sursa (job #2395487) | Cod sursa (job #2744938) | Cod sursa (job #2219048) | Cod sursa (job #1844525)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n,m,pereche[27][27],dp[1002][26];
int main() {
f >> n >> m;
for(int i = 0; i < m; i++) {
char a,b;
f >> a >> b;
pereche[a - 'a'][b - 'a'] = true;
pereche[b - 'a'][a - 'a'] = true;
}
for(int i = 0; i < 26; i++)
dp[1][i] = 1;
for(int i = 2; i <= n; i++) {
for(int j = 0; j < 26; j++) {
for(int k = 0; k < 26; k++) {
if(!pereche[j][k]) {
dp[i][j] = (dp[i][j] + dp[i-1][k]) % 104659;
}
}
}
}
int x = 0;
for(int i = 0; i < 26; i++) {
x = (x + dp[n][i]) % 104659;
}
g << x;
return 0;
}