Pagini recente » Cod sursa (job #320450) | Cod sursa (job #1894452) | Cod sursa (job #3227741) | Cod sursa (job #2466363) | Cod sursa (job #3264130)
#include <bits/stdc++.h>
using namespace std;
const int MAX = 1005, MOD = 104659;
int a[30][30], dp[MAX][30];
int main()
{
ifstream cin("nrcuv.in");
ofstream cout("nrcuv.out");
int n, m;
cin >> n >> m;
for (int i = 1; i <= m; ++i)
{
char x, y;
cin >> x >> y;
a[(x-'a')+1][(y-'a')+1] = 1;
a[(y-'a')+1][(x-'a')+1] = 1;
}
for (int i = 1; i <= 26; ++i)
dp[1][i] = 1;
for (int i = 2; i <= n; ++i)
for (int j = 1; j <= 26; ++j)
{
for (int litera = 1; litera <= 26; ++litera)
if (a[j][litera] == 0)
dp[i][j] += dp[i-1][litera];
dp[i][j] %= MOD;
}
int ans = 0;
for (int i = 1; i <= 26; ++i)
ans = (ans + dp[n][i]) % MOD;
cout << ans;
return 0;
}