Pagini recente » Cod sursa (job #2391414) | Cod sursa (job #2228670) | Cod sursa (job #488628) | Cod sursa (job #1621715) | Cod sursa (job #1707852)
#include <cstdio>
#define DIM 28
#define NMax 1005
const int MOD = 104659;
int vecin[DIM][DIM];
int v[DIM][NMax];
int main(){
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
int n,m,i,j,s,ans;
char l1,l2,pass;
scanf("%d %d",&n,&m);
scanf("%c",&pass);
for( i = 1; i <= m; ++i )
{
scanf("%c %c",&l1,&l2);
vecin[l1-'a'+1][l2-'a'+1] = 1;
vecin[l2-'a'+1][l1-'a'+1] = 1;
scanf("%c",&pass);
}
for( i = 1; i < DIM - 1; ++i ) v[i][1] = 1;
for( i = 2; i <= n; ++i )
{
// toate cazurile initial
for( j = 1; j < DIM - 1; ++j )
for( s = 1; s < DIM - 1; ++s )
if( vecin[j][s] == 0 )
v[j][i] = ( v[j][i] + v[s][i-1] ) % MOD;
}
for( ans = 0, i = 1; i < DIM - 1 ; ++i ) ans = ( ans + v[i][n] ) % MOD;
printf("%d\n",ans);
return 0;
}