Pagini recente » Cod sursa (job #1884868) | Cod sursa (job #1663299) | Cod sursa (job #1308936) | Cod sursa (job #1120672) | Cod sursa (job #1839652)
#include <cstdio>
using namespace std;
#define NMAX 1001
#define MOD 104659
int D[ NMAX ][ 27 ];
int A[ 27 ][ 27 ];
int main () {
freopen("nrcuv.in","r",stdin);
freopen("nrcuv.out","w",stdout);
int n, m, i, j, k;
char x, y;
scanf( "%d%d%*c",&n,&m );
while ( m-- ) {
scanf( "%c%*c%c%*c",&x,&y );
x -= 'a' - 1;
y -= 'a' - 1;
A[ x ][ y ] = A[ y ][ x ] = 1;
}
for ( i = 1; i <= 26; ++i ) D[ 1 ][ i ] = 1;
for ( int lg = 2; lg <= n; ++lg ) {
for ( i = 1; i <= 26; ++i ) {
for ( j = 1; j <= 26; ++j ) {
if ( !A[ i ][ j ] ) {
D[ lg ][ j ] += D[ lg - 1 ][ i ];
D[ lg ][ j ] %= MOD;
}
}
}
}
int ans = 0;
for ( i = 1; i <= 26; ++i )
ans = ( ans + D[ n ][ i ] ) % MOD;
printf( "%d\n",ans );
return 0;
}