Pagini recente » Cod sursa (job #1146663) | Cod sursa (job #617223) | Cod sursa (job #1714713) | Cod sursa (job #2848478) | Cod sursa (job #486421)
Cod sursa(job #486421)
#include <fstream>
using namespace std;
const char InFile[]="nrcuv.in";
const char OutFile[]="nrcuv.out";
const int MaxN=1010;
const int MOD=104659;
ifstream fin(InFile);
ofstream fout(OutFile);
int sol,n,m,a[26][26],best[26][MaxN];
char ch1,ch2;
int main()
{
for(register int i=0;i<26;++i)
{
best[i][1]=1;
for(register int j=0;j<26;++j)
{
a[i][j]=1;
}
}
fin>>n>>m;
for(register int i=0;i<m;++i)
{
fin>>ch1>>ch2;
a[ch1-'a'][ch2-'a']=0;
a[ch2-'a'][ch1-'a']=0;
}
fin.close();
for(register int i=2;i<=n;++i)
{
for(register int j=0;j<26;++j)
{
for(register int k=0;k<26;++k)
{
best[j][i]+=a[j][k]*best[k][i-1];
best[j][i]%=MOD;
}
}
}
for(register int i=0;i<26;++i)
{
sol+=best[i][n];
sol%=MOD;
}
fout<<sol%MOD;
fout.close();
return 0;
}