Pagini recente » Cod sursa (job #2386400) | Cod sursa (job #2161554) | Cod sursa (job #3278660) | Cod sursa (job #3280910) | Cod sursa (job #2094523)
#include <cstdio>
#define MAXLIT 'z'
#define MAXN 1000
#define MOD 104659
using namespace std;
char ok[MAXLIT + 5][MAXLIT + 5];
int ap[MAXN + 5][MAXLIT + 5];
int main( ) {
FILE *f1, *f2;
int n, m, i, l1, l2, cuvinte;
f1 = fopen( "nrcuv.in", "r" );
f2 = fopen( "nrcuv.out", "w" );
fscanf( f1, "%d%d ", &n, &m );
for( i = 1; i <= m; i++ ) {
l1 = fgetc( f1 );
fgetc( f1 );
l2 = fgetc( f1 );
fgetc( f1 );
printf( "%c %c\n", l1, l2 );
if( !ok[l1][l2] )
ok[l1][l2] = 1;
if( !ok[l2][l1] )
ok[l2][l1] = 1;
}
for( i = 'a'; i <= 'z'; i++ )
ap[1][i] = 1;
for( i = 2; i <= n; i++ )
for( l1 = 'a'; l1 <= 'z'; l1++ )
for( l2 = 'a'; l2 <= 'z'; l2++ )
if( !ok[l1][l2] )
ap[i][l1] = ( ap[i][l1] + ap[i - 1][l2] ) % MOD;
cuvinte = 0;
for( i = 'a'; i <= 'z'; i++ ) {
cuvinte += ap[n][i];
cuvinte %= MOD;
}
fprintf( f2, "%d", cuvinte );
return 0;
}