Pagini recente » Cod sursa (job #2361112) | Cod sursa (job #2822712) | Cod sursa (job #31689) | Cod sursa (job #756867) | Cod sursa (job #2941229)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("nrcuv.in");
ofstream out ("nrcuv.out");
#define int long long
const int mod = 104659;
int dp[1001];
bitset<26>ok[26];
signed main()
{
int n, m;
in >> n >> m;
dp[1] = 26;
dp[2] = 26*26;
for (int i=0; i<26; i++)
{
for (int j=0; j<26; j++)
ok[i][j] = true;
}
int cnt = 0;
while (m--)
{
char a, b;
in >> a >> b;
int x = a - 'a', y = b - 'a';
if (ok[x][y])
cnt += 2 - (x == y), ok[x][y] = ok[y][x] = false;
}
dp[2] -= cnt;
for (int i=3; i<=n; i++)
dp[i] = dp[i-2] * ( 26*26-cnt), dp[i] %= mod;
out << dp[n];
return 0;
}