Pagini recente » Cod sursa (job #1837987) | Cod sursa (job #2056211) | Cod sursa (job #2372949) | Cod sursa (job #1163263)
#include <cstdio>
#define MIN 30
#define MOD 104659
#define MAX 1110
using namespace std;
short int nupot [MIN][MIN];
int mat[MIN][MAX];
int main()
{
char ch1,ch2;
int n,m,i,j,k,s=0;
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
scanf("%d%d\n",&n,&m);
for(i=1;i<=m;++i){
scanf("%c %c\n",&ch1,&ch2);
nupot[ch1-'a'][ch2-'a']=nupot[ch2-'a'][ch1-'a']=1;
}
for(i=0;i<=25;++i)mat[i][1]=1;
for(i=2;i<=n;++i)
for(j=0;j<=25;++j)
for(k=0;k<=25;++k)
if(nupot[j][k]==0){
mat[j][i]+=mat[k][i-1];
mat[j][i]%=MOD;
}
for(i=0;i<=25;++i){
s+=mat[i][n];
s%=MOD;
}
printf("%d\n",s%MOD);
return 0;
}