Pagini recente » Cod sursa (job #602013) | Cod sursa (job #2019517) | Cod sursa (job #1052015) | Cod sursa (job #1343643) | Cod sursa (job #3343565)
#include <bits/stdc++.h>
#define mod 104659
using namespace std;
ifstream in ("nrcuv.in");
ofstream out ("nrcuv.out");
long long vec[27][27],dp[27][1001];
vector <int> v[27];
int main()
{
int n,m;
for (int i=1;i<=26;i++)
{
for (int j=1;j<=26;j++)
{
vec[i][j]=1;
}
}
in>>n>>m;
char a,b;
for (int i=1;i<=m;i++)
{
in>>a>>b;
vec[a-'a'+1][b-'a'+1]=0;
vec[b-'a'+1][a-'a'+1]=0;
}
for (int i=1;i<=26;i++)
{
for (int j=1;j<=26;j++)
{
if (vec[i][j]==1)
{
v[i].push_back(j);
}
}
}
for (int i=1;i<=26;i++)
{
dp[i][1]=1;
}
for (int i=2;i<=n;i++)
{
for (int j=1;j<=26;j++)
{
for (int k=0;k<v[j].size();k++)
{
dp[j][i]=(dp[j][i]+dp[v[j][k]][i-1])%mod;
}
}
}
long long s=0;
for (int i=1;i<=26;i++)
{
s+=dp[i][n];
s%=mod;
}
out<<s;
return 0;
}