Pagini recente » Cod sursa (job #673408) | Cod sursa (job #1076569) | Cod sursa (job #1710496) | Cod sursa (job #1366369) | Cod sursa (job #2339748)
#include <iostream>
#include <cstdio>
#define MOD 104659
using namespace std;
int n,m;
char l1,l2;
int dp[1005][1005],ap[30][30],fr[30];
void dinamica()
{
for(int i=1;i<=n;i++)
{
for(int j=0;j<26;j++)
{
dp[i][j]+=((dp[i-1][j]*(26-fr[j])))%MOD;
}
}
}
int main()
{
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=0;i<26;i++)
{
dp[1][i]=1;
}
for(int i=1;i<=m;i++)
{
scanf("%c %c\n",&l1,&l2);
ap[l1-'a'][l2-'a']=1;
ap[l2-'a'][l1-'a']=1;
}
for(int i=0;i<26;i++)
{
int nr=0;
for(int j=0;j<26;j++)
nr+=ap[i][j];
fr[i]=nr;
}
dinamica();
int sol=0;
for(int i=0;i<26;i++)
sol+=dp[n][i];
printf("%d",sol%MOD);
return 0;
}