Pagini recente » Cod sursa (job #1363030) | Cod sursa (job #2202137) | Cod sursa (job #734212) | Cod sursa (job #2090747) | Cod sursa (job #1204918)
#include<fstream>
using namespace std;
long optim[1001][27],viz[27][27],sum;
int main()
{
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int m,n,i,j,k,urmator=1,prev;
char x,y;
fin>>n>>m;
for(i=0;i<26;++i) optim[urmator][i]=1;
for(i=1;i<=m;++i)
{
fin>>x>>y;
viz[x-'a'][y-'a']=viz[y-'a'][x-'a']=1;
}
for(k=2;k<=n;++k)
{
urmator=2-urmator+1;
prev=2-urmator+1;
for(i=0;i<26;++i)
{
optim[urmator][i]=0;
for(j=0;j<26;++j)
{
if(!viz[i][j])
{
optim[urmator][i]=optim[urmator][i]+optim[prev][j];
optim[urmator][i]%=104659;
}
}
}
}
for(i=0;i<26;++i)
{
sum=sum+optim[urmator][i];
sum%=104659;
}
fout<<sum;
fin.close();
fout.close();
return 0;
}