Pagini recente » Cod sursa (job #518756) | Cod sursa (job #2806365) | Cod sursa (job #2532194) | Borderou de evaluare (job #2013118) | Cod sursa (job #3275273)
#include <bits/stdc++.h>
using namespace std;
#define mod 104659;
ifstream f("buline.in");
ofstream g("buline.out");
int n, m, c[30][30]{}, d[200][30]{};
bool t;
int main(void)
{
cin >> n >> m;
for (int i = 1; i <= m; i++) {
char a, b;
cin >> a >> b;
c[int(a) - 96][int(b) - 96] = 1;
c[int(b) - 96][int(a) - 96] = 1;
}
for(int i = 1; i <= 26; i++)
d[1][i] = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= 26; j++)
for (int k = 1; k <= 26; k++)
if (c[j][k] != 1 && c[k][j] != 1)
d[i][j] = (d[i][j] + d[i - 1][k]) % mod;
long long int sum = 0;
for(int i = 1; i <= 26; i++)
sum = (d[n][i] + sum) % mod;
cout << sum;
return 0;
}