Pagini recente » Cod sursa (job #2684811) | Cod sursa (job #1104644) | Cod sursa (job #358907) | Cod sursa (job #1636683) | Cod sursa (job #486060)
Cod sursa(job #486060)
# include <bitset>
using namespace std ;
const char FIN[] = "nrcuv.in", FOU[] = "nrcuv.out" ;
const int MAX = 1005, C_MAX = 27, MOD = 104659 ;
bitset < C_MAX > A[C_MAX] ;
int V[MAX][C_MAX] ;
int N, M ;
void read_data ( void ) {
freopen ( FIN, "r", stdin ) ;
scanf ( "%d %d", &N, &M ) ;
for ( int i = 0; i < M; ++i ) {
char a, b ;
scanf ( " %c %c", &a, &b ) ;
A[a - 'a'][b - 'a'] = A[b - 'a'][a - 'a'] = 1 ;
}
}
void solve ( void ) {
int sol = 0 ;
for ( int i = 0; i < C_MAX - 1; ++i ) {
V[0][i] = 1 ;
}
for ( int i = 1; i < N; ++i ) {
for ( int j = 0; j < C_MAX - 1; ++j ) {
for ( int k = 0; k < C_MAX - 1; ++k ) {
if ( A[k][j] == 0 ) {
V[i][j] += V[i - 1][k], V[i][j] %= MOD ;
}
}
}
}
for ( int i = 0; i < C_MAX - 1; ++i ) {
sol += V[N - 1][i], sol %= MOD ;
}
fprintf ( fopen ( FOU, "w" ) , "%d" , sol ) ;
}
int main ( void ) {
read_data (), solve () ;
}