Cod sursa(job #1204895)

Utilizator IulianBoboUAIC Boboc Iulian IulianBobo Data 4 iulie 2014 13:06:01
Problema Lista lui Andrei Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
using namespace std;
int 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;
}