Pagini recente » Cod sursa (job #221205) | Cod sursa (job #2119123) | Cod sursa (job #3158683) | Cod sursa (job #570470) | Cod sursa (job #603021)
Cod sursa(job #603021)
#include <fstream>
#include <vector>
#define DIM 2001
#define MOD 104659
using namespace std;
int N, M, sol;
bool ok[30][30];
int a[DIM][30];
char ch1, ch2;
int main()
{
ifstream fin("nrcuv.in");
fin >> N >> M;
for (int i = 1; i <= M; ++i)
{
fin >> ch1 >> ch2;
ok[ch1-'a'][ch2-'a'] = ok[ch2-'a'][ch1-'a'] = 1;
}
fin.close();
for (int i = 0; i <= 'z' - 'a'; ++i)
a[1][i] = 1;
for (int i = 1; i <= N; ++i)
for (int j = 0; j <= 'z' - 'a'; ++j)
for (int k = 0; k <= 'z' - 'a'; ++k)
if (!ok[j][k])
{
a[i][j] = (a[i][j] + a[i-1][k]) % MOD;
a[i][j] %= MOD;
}
for (int i = 0; i <= 'z' - 'a'; ++i)
{
sol = (sol + a[N][i]) % MOD;
sol %= MOD;
}
ofstream fout("nrcuv.out");
fout << sol << '\n';
fout.close();
return 0;
}