Pagini recente » Cod sursa (job #651693) | Cod sursa (job #2114741) | Cod sursa (job #1609480) | Cod sursa (job #1857960) | Cod sursa (job #3334394)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
const int mod=104659;
int dp[50][1004];
int nu[50][50];
int main()
{
int n,m,s;
fin>>n>>m;
for(int i=1;i<=m;i++)
{
char x,y;
fin>>x>>y;
nu[x-'a'][y-'a']=1;
nu[y-'a'][x-'a']=1;
}
for(int i=0;i<='z'-'a';i++)
dp[i][1]=1;
for(int i=2;i<=n;i++)
{
for(int j=0;j<='z'-'a';j++)
{
for(int k=0;k<='z'-'a';k++)
{
if(nu[k][j]==0)
dp[j][i]=(dp[j][i]+dp[k][i-1])%mod;
}
}
}
for(int j=0;j<='z'-'a';j++)
s=(s+dp[j][n])%mod;
fout<<s;
return 0;
}