Cod sursa(job #66248)

Utilizator peanutzAndrei Homorodean peanutz Data 17 iunie 2007 07:05:49
Problema 12-Perm Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#include <string.h>

#define MOD 1048576

int main()
{
	int n, i;
	int t[] = {0, 1, 2, 6, 12, 0};
	int size = 5*sizeof(int);
	freopen("12perm.in", "r", stdin);
	freopen("12perm.out", "w", stdout);

	scanf("%d\n", &n);

	for(i = 5; i <= n; ++i)
	{
		t[5] = t[4] + t[3] + 2*(i-1);

		memmove(t, t+1, size);

		if(t[4] >= MOD)
			t[4] %= MOD;

		if(t[3] >= MOD)
			t[3] %= MOD;
	}

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

	fclose(stdin);
	fclose(stdout);

	return 0;
}