Pagini recente » Cod sursa (job #2613235) | Cod sursa (job #1637064) | Cod sursa (job #1386572) | Cod sursa (job #332597) | Cod sursa (job #1204891)
#include<fstream>
using namespace std;
long optim[3][27],viz[27][27],sum;
int main()
{
FILE *fin,*fout;
fin=fopen("nrcuv.in","r");
fout=fopen("nrcuv.out","w");
int m,n,i,j,k,urmator=1;
char x,y;
fscanf(fin,"%d %d\n",&n,&m);
for(i=0;i<26;++i) optim[urmator][i]=1;
for(i=1;i<=m;++i)
{
fscanf(fin,"%c %c\n",&x,&y);
viz[x-'a'][y-'a']=viz[y-'a'][x-'a']=1;
}
for(k=2;k<=n;++k)
{
urmator=2-urmator+1;
for(i=0;i<26;++i)
for(j=0;j<26;++j)
if(!viz[i][j])
optim[urmator][j]=(optim[urmator][j]+optim[2-urmator+1][i])%104659;
}
for(i=0;i<26;++i) sum=(sum+optim[urmator][i])%104659;
fprintf(fout,"%d",sum);
fclose(fin);
fclose(fout);
return 0;
}