Pagini recente » Cod sursa (job #3233056) | Cod sursa (job #58351) | Cod sursa (job #1646850) | Cod sursa (job #1143260) | Cod sursa (job #1680082)
# include <stdio.h>
# include <stdlib.h>
# define MAX_N 1000
# define MOD 104659
int deny[128][128];
int p[MAX_N][128];
int pos( int n, char c ) {
if ( p[n][(int)c] == -1 ) {
if ( n > 1 ) {
p[n][(int)c] = 0;
int i;
for ( i = 'a'; i <= 'z'; i ++ )
if ( !deny[(int)c][(int)i] )
p[n][(int)c] += pos( n - 1, i );
p[n][(int)c] %= MOD;
} else
p[n][(int)c] = 1;
}
return p[n][(int)c];
}
int main() {
FILE *fin = fopen( "nrcuv.in", "r" ), *fout = fopen( "nrcuv.out", "w" );
int n, m, i, j;
char a, b;
fscanf( fin, "%d%d", &n, &m );
for ( i = 0; i < m; i ++ ) {
fscanf( fin, " %c %c", &a, &b );
deny[(int)a][(int)b] = deny[(int)b][(int)a] = 1;
}
for ( i = 0; i < MAX_N; i ++ )
for ( j = 0; j < 128; j ++ )
p[i][j] = -1;
fprintf( fout, "%d", pos( n + 1, ' ' ) );
fclose( fin );
fclose( fout );
return 0;
}