Pagini recente » Cod sursa (job #2852869) | Cod sursa (job #2006717) | Cod sursa (job #1421106) | Cod sursa (job #2922231) | Cod sursa (job #1238837)
//
// main.cpp
// Lista lui Andrei
//
#include <fstream>
using namespace std;
ifstream is("nrcuv.in");
ofstream os("nrcuv.out");
#define MOD 104659
int N, M;
bool Ap[26][26];
int D[1001][27];
char x, y;
int main()
{
is >> N >> M;
for ( int i = 1; i <= M; ++i )
{
is >> x >> y;
Ap[x-'a'][y-'a'] = 1;
Ap[y-'a'][x-'a'] = 1;
}
for ( int i = 0; i <= 25; ++i )
D[1][i] = 1;
for ( int i = 2; i <= N; ++i )
for ( int j = 0; j <= 25; ++j )
for ( int k = 0; k <= 25; ++k )
if ( Ap[k][j] == 0 )
{
D[i][k] += D[i-1][j];
if ( D[i][k] >= MOD )
D[i][k] %= MOD;
}
int R(0);
for ( int i = 0; i <= 25; ++i )
{
R += D[N][i];
R %= MOD;
}
os << R;
is.close();
os.close();
}