Pagini recente » Cod sursa (job #2955710) | Cod sursa (job #2805254) | Cod sursa (job #2508661) | Cod sursa (job #2304470) | Cod sursa (job #459242)
Cod sursa(job #459242)
#include<fstream>
#include<bitset>
using namespace std;
#define ctoi(a) a - 'a' + 1
const int MOD = 104659;
int n, m, nrid, nrt;
bool x[28][28];
long long mt[1001][27], res;
void read();
void doit();
void write();
int main()
{
read();
doit();
write();
return 0;
}
void read()
{
ifstream fin("nrcuv.in");
fin >> n >> m;
char a, b;
for (int i = 0; i < m; ++i)
{
fin >> a >> b;
a = ctoi(a), b = ctoi(b);
x[a][b] = x[b][a] = true;
}
}
void doit()
{
for (int i = 1; i <= 26; ++i)
mt[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 (!x[j][k])
{
mt[i][j] += mt[i - 1][k];
mt[i][j] %= MOD;
}
for (int i = 1; i <= 26; ++i)
{
res += mt[n][i];
res %= MOD;
}
}
void write()
{
ofstream fout("nrcuv.out");
fout << res;
}