Pagini recente » Cod sursa (job #1419052) | Cod sursa (job #661773) | Cod sursa (job #2110800) | Cod sursa (job #2390688) | Cod sursa (job #3281997)
#include <bits/stdc++.h>
#define mod 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n, m, s, a[30][30], dp[2003][2003];
char ch1, ch2;
int main()
{
int i, j, k;
fin >> n >> m;
for (i = 1; i <= m; i++)
{
fin >> ch1 >> ch2;
a[ch1 - 'a'][ch2 - 'a'] = a[ch2 - 'a'][ch1 - 'a'] = 1;
}
//dp[i][j] = nr de cuv de i litere care se termina cu j
for (j = 0; j <= 25; j++)
dp[1][j] = 1;
for (i = 2; i <= n; i++)
for (j = 0; j <= 25; j++)
for (k = 0; k <= 25; k++)
if (a[j][k] == 0)
dp[i][j] = (dp[i][j] + dp[i-1][k]) % mod;
for (j = 0; j <= 25; j++)
s += dp[n][j];
fout << s << "\n";
return 0;
}