Pagini recente » Cod sursa (job #1418474) | Cod sursa (job #100186) | Cod sursa (job #2469425) | Cod sursa (job #2850484) | Cod sursa (job #2579047)
#include <bits/stdc++.h>
using namespace std;
ifstream in("nrcuv.in");
ofstream out("nrcuv.out");
const int MOD = 104659;
int n, m, dp[27][1001];
bool ap[27][27];
void read()
{
in>>n>>m;
char a, b;
int x, y;
for(int i = 1;i <= m;i++)
{
in>>a>>b;
x = a - 'a';
y = b - 'a';
x++;
y++;
ap[x][y] = ap[y][x] = 1;
}
}
void solve()
{
for(int i = 1;i <= 26;i++)
dp[i][1] = 1;
for(int i = 2;i <= n;i++)
{
for(int j = 1;j <= 26;j++)
{
for(int k = 1;k <= 26;k++)
{
if(!ap[k][j])
dp[j][i] += dp[k][i - 1];
dp[i][j] %= MOD;
}
}
}
int rez = 0;
for(int i = 1;i <= 26;i++)
rez = rez + dp[i][n] % MOD;
rez = rez % MOD;
out<<rez<<'\n';
}
int main()
{
read();
solve();
return 0;
}