Pagini recente » Cod sursa (job #1825413) | Cod sursa (job #492685) | Cod sursa (job #492687) | Cod sursa (job #1456783) | Cod sursa (job #3142479)
#include <fstream>
using namespace std;
ifstream cin("nrcuv.in");
ofstream cout("nrcuv.out");
// dp [ i ] = dp [ i - 2 ] + words ;
long long mod = 104559;
long long n, k ;
long long dp [ 1001 ] [ 27 ];
long long pereche [ 30 ] [ 30 ];
long long frv [ 27 ];
int main()
{
cin >> n >> k;
for ( int i = 1; i <= k ; i ++ )
{
char a, b;
cin >> a >> b ;
pereche [ a - 'a'] [ b -'a' ] ++ ;
pereche [ b - 'a'] [ a -'a' ] ++ ;
}
for ( int i = 0; i < 26 ; i++ )
dp [ 1 ] [ i ] = 1 ;
for ( int i = 2; i <= n ; i ++ )
{
for ( int j = 0 ; j < 26 ; j ++ )
for ( int k = 0 ; k < 26 ; k ++ )
if ( pereche [ j ][ k ] == 0 )
dp [ i ][ j ] = (dp [ i ][ j ] + dp [ i - 1 ] [ k ]) % mod ;
}
int total =0 ;
for ( int i = 0 ; i < 26 ; i ++ )
{
total += dp [ n ][ i ];
total %+ mod;
}
cout << total ;
return 0;
}