Pagini recente » Cod sursa (job #176186) | Cod sursa (job #900596) | Cod sursa (job #1643891) | Cod sursa (job #922853) | Cod sursa (job #1807551)
#include <iostream>
#include <fstream>
#define MOD 104659
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
int mat[1003][27];
bool l[27][27];
int main()
{
int n, m, i, j, k, rez;
char l1, l2;
in>>n>>m;
for(i = 1; i <= m; i++)
{
in >> l1 >> l2;
l[l1 - 'a' + 1][l2 - 'a' + 1] = l[l2 - 'a' + 1][l1 - 'a' + 1] = true;
}
for(i = 1; i <= 26; i++)
mat[1][i] = 1;
for(i = 2; i <= n; i++){
for(j = 1; j <= 26; j++){
for(k = 1; k <= 26; k++)
{
if(!l[j][k])
mat[i][j] = (mat[i][j]+mat[i-1][k]) % MOD;
}
}
}
for(i = 1; i <= 26; i++)
rez = (rez + mat[n][i]) % MOD;
out << rez;
return 0;
}