Pagini recente » Cod sursa (job #222155) | Cod sursa (job #413716) | Cod sursa (job #1288870) | Cod sursa (job #2504015) | Cod sursa (job #1739247)
#include <fstream>
#define CAR 35
#define VAL 1005
#define MOD 104659
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int N, M, i, j, cnt;
int v[CAR][VAL], nr;
char c, k;
bool ok[CAR][CAR];
int main()
{
fin >> N >> M;
for (i=1; i<=M; i++)
{
fin >> c >> k;
ok[c-'a'][k-'a']=1;
ok[k-'a'][c-'a']=1;
}
for (i=0; i<=25; i++)
v[i][1]=1;
for (i=2; i<=N; i++)
{
for (j=0; j<=25; j++)
{
for (cnt=0; cnt<=25; cnt++)
{
if (ok[j][cnt]==0)
{
v[j][i]+=v[cnt][i-1] % MOD;
v[j][i]%=MOD;
}
}
}
}
nr=0;
for (i=0; i<=25; i++)
{
nr+=v[i][N];
nr%=MOD;
}
fout << nr;
fin.close();
fout.close();
return 0;
}