Cod sursa(job #514566)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 19 decembrie 2010 10:09:28
Problema 12-Perm Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>

#define file_in "12perm.in"
#define file_out "12perm.out"

int N;

#define mod (1<<20)-1

int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d", &N);
	
	if (N==1)
		printf("1\n");
	else
	if (N==2)
		printf("2\n");
	else
	if (N==3)
		printf("6\n");
	else
	if (N==4)
		printf("12\n");
	else
	{
		int aux,i,c,a,b;
		a=2;
		b=6;
		for (i=5;i<=N;++i){
			aux=a+c+2*(i-2);
			aux&=mod;
			a=b;
			b=c;
			c=aux;
		}
		printf("%d\n", c);
	}
	
	return 0;
	
}