Pagini recente » Cod sursa (job #1138158) | Cod sursa (job #2944518) | Cod sursa (job #1561930) | Cod sursa (job #1229189) | Cod sursa (job #1025914)
#include<fstream>
using namespace std;
bool v[26][26];
int d[2][26];
void init()
{
for (int i=0;i<26;++i)
for(int j=0;j<26;++j)
v[i][j]=0;
for (int i=0;i<26;++i)
d[0][i]=1;
}
int main()
{
ifstream in ("nrcuv.in");
ofstream out ("nrcuv.out");
int n,m,s;
char a,b,c;
in>>n>>m;
init();
in.get(c);
for (int i=0;i<m;++i)
{
in.get(a);
in.get(c);
in.get(b);
v[a-'a'][b-'a']=v[b-'a'][a-'a']=1;
in.get(c);
}
for (int l=2;l<=n;++l)
{
for (int j=0;j<26;++j)
{
d[1][j]=0;
for (int k=0;k<26;++k)
if (!v[j][k] && !v[k][j])
d[1][j]=(d[1][j]+d[0][k])%104659;
}
for (int j=0;j<26;++j)
d[0][j]=d[1][j];
}
s=0;
for (int i=0;i<26;++i)
s=(s+d[0][i])%104659;
out<<s<<'\n';
in.close();
out.close();
return 0;
}