Pagini recente » Cod sursa (job #164555) | Cod sursa (job #1681947) | Cod sursa (job #2206089) | Cod sursa (job #541864) | Cod sursa (job #3198214)
#include <bits/stdc++.h>
using namespace std;
#define MOD 104659
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n, m, dp[1001][26], incomp[26][26];
void citire()
{
f >> n >> m;
for(int i = 1;i <= m;i ++)
{
char l1, l2;
f >>l1 >> l2;
incomp[l1 - 97][l2 - 97] = incomp[l2 - 97][l1 - 97] = 1;
}
}
void dinamic()
{
for(int i= 0;i < 26;i ++)
dp[1][i] = 1;
for(int i = 2;i <= n;i ++)
{
for(int j = 0;j <= 25;j ++)
for(int k = 0;k <= 25;k ++)
{
if(!incomp[j][k]){
dp[i][j] += dp[i - 1][k];
dp[i][j] %= MOD;
}
}
}
int s = 0;
for(int i = 0;i < 26;i ++)
s += dp[n][i], s%=MOD;
g << s;
}
int main()
{
citire();
dinamic();
return 0;
}