Pagini recente » Cod sursa (job #2151249) | Cod sursa (job #2404342) | Cod sursa (job #1359167) | Cod sursa (job #461099) | Cod sursa (job #567496)
Cod sursa(job #567496)
#include<fstream>
#define NMAX 28
#define MMAX 1002
#define MOD 104659
using namespace std;
int REZ[MMAX][NMAX], n, m, a[NMAX][NMAX];
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
void Citeste()
{
int i;
char c1, c2;
f>>n>>m;
for (i=1; i<=m; ++i)
{
f>>c1>>c2;
a[c1-'a'+1][c2-'a'+1]=a[c2-'a'+1][c1-'a'+1]=1;
}
for (c1='a'; c1<='z'; ++c1) REZ[1][c1-'a'+1]=1;
}
void Solve()
{
int i, sol=0;
char c, c1;
for (i=1; i<=n; ++i)
for (c='a'; c<='z'; ++c)
for (c1='a'; c1<='z'; ++c1)
if (!a[c-'a'+1][c1-'a'+1]) REZ[i][c-'a'+1]=(REZ[i][c-'a'+1]+REZ[i-1][c1-'a'+1])%MOD;
for (c='a'; c<='z'; ++c) sol=(sol+REZ[n][c-'a'+1])%MOD;
g<<sol<<"\n";
}
int main()
{
Citeste();
Solve();
f.close();
g.close();
return 0;
}