Pagini recente » Cod sursa (job #1769664) | Cod sursa (job #503818) | Cod sursa (job #471421) | Cod sursa (job #2227235) | Cod sursa (job #2751053)
#include <iostream>
#include <fstream>
#define NMAX 1000
#define MOD 104659
using namespace std;
ifstream fin ("nrcuv.in");
ofstream fout ("nrcuv.out");
int ex[26][26];
int nrMod[NMAX + 1][26];
int main()
{
int N, K;
fin >> N >> K;
for(int i = 1; i <= K; i++){
char c1, c2;
fin >> c1 >> c2;
int x = c1 - 'a';
int y = c2 - 'a';
ex[x][y] = 1;
ex[y][x] = 1;
}
//initializare
for(int j = 0; j < 26; j++){
nrMod[1][j] = 1;
}
for(int i = 2; i <= N; i++){
for(int j = 0; j < 26; j++){
for(int k = 0; k < 26; k++){
if(ex[j][k] == 0){
nrMod[i][j] = ( nrMod[i][j] + nrMod[i - 1][k] ) % MOD;
}
}
}
}
int raspuns = 0;
for(int j = 0; j < 26; j++){
raspuns = (raspuns + nrMod[N][j]) % MOD;
}
fout << raspuns;
return 0;
}