Cod sursa(job #334749)

Utilizator ProtomanAndrei Purice Protoman Data 27 iulie 2009 22:00:48
Problema 12-Perm Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <algorithm>
#include <stdio.h>

using namespace std;

int n;
int rec[6];

int main()
{
	freopen("12perm.in", "r", stdin);
	freopen("12perm.out", "w", stdout);

	scanf("%d", &n);

	rec[1] = 1; rec[2] = 2; rec[3] = 6; rec[4] = 12;
	for (int i = 5; i <= n; i++)
	{
		rec[5] = (rec[4] + rec[2] + 2 * (i - 2)) & ((1 << 20) - 1);

		for (int j = 2; j <= 4; j++)
			rec[j] = rec[j + 1];
	}

	if (n > 4)
		printf("%d\n", rec[5]);
	else printf("%d\n", rec[n]);

	fclose(stdin);
	fclose(stdout);
	return 0;
}