Pagini recente » Cod sursa (job #1530762) | Cod sursa (job #1178861) | Cod sursa (job #1755781) | Cod sursa (job #2559789) | Cod sursa (job #3327383)
#include <bits/stdc++.h>
#define mod 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n, m, a[26][26];
int dp[1001][26];
/// dp[i][j] = nr de cuv de lungime i care se termina cu litera j
int main()
{
int i, j, suma, k;
char c1, c2;
fin >> n >> m;
for(i = 1; i <= m; i++)
{
fin >> c1 >> c2;
a[c1 - 'a'][c2 - 'a'] = 1;
a[c2 - 'a'][c1 - 'a'] = 1;
}
for(j = 0; j <= 25; j++) dp[1][j] = 1;
for(i = 2; i <= n; i++)
for(j = 0; j <= 25; j++)
{
suma = 0;
for(k = 0; k <= 25; k++)
if(a[j][k] == 0) suma += dp[i - 1][k];
dp[i][j] = suma % mod;
}
suma = 0;
for(j = 0; j <= 25; j++) suma += dp[n][j];
suma %= mod;
fout << suma << '\n';
return 0;
}