Cod sursa(job #655586)

Utilizator ChallengeMurtaza Alexandru Challenge Data 2 ianuarie 2012 22:45:14
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

using namespace std;

const char InFile[]="12perm.in";
const char OutFile[]="12perm.out";
const int MOD=(1<<20)-1;

ifstream fin(InFile);
ofstream fout(OutFile);

int N,SOL[4];

int main()
{
	fin>>N;
	fin.close();

	SOL[0]=1;
	SOL[1]=2;
	SOL[2]=6;
	SOL[3]=12;

	for(register int i=5;i<=N;++i)
	{
		SOL[0]=SOL[1];
		SOL[1]=SOL[2];
		SOL[2]=SOL[3];
		SOL[3]=SOL[3]+SOL[0]+2*(i-2);
		SOL[3]&=MOD;
	}

	if(N>2)
	{
		fout<<SOL[3];
	}
	else
	{
		fout<<SOL[N-1];
	}
	fout.close();
	return 0;
}