Cod sursa(job #229768)

Utilizator cotofanaCotofana Cristian cotofana Data 11 decembrie 2008 15:20:37
Problema Multimi2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <stdio.h>
#include <math.h>
#define dim 100

long n;

int main()
{
	long i;
	freopen("multimi2.in", "r", stdin);
	freopen("multimi2.out", "w", stdout);
	scanf("%ld\n", &n);

	if (n%4==0)
	{
		printf("0\n");
		printf("%ld\n", n/2);
		for (i=4; i<=n; i+=4) printf("%ld %ld ", i-3, i);
		printf("\n%ld\n", n/2);
		for (i=4; i<=n; i+=4) printf("%ld %ld ", i-2, i-1);
	}
	else if (n%4==1)
	{
		printf("1\n");
		printf("%ld\n", (n-1)/2+1);
		printf("1 ");
		for (i=5; i<=n; i+=4) printf("%ld %ld ", i-3, i);
		printf("\n%ld\n", (n-1)/2);
		for (i=5; i<=n; i+=4) printf("%ld %ld ", i-2, i-1);
	}
	else if (n%4==2)
	{
		printf("1\n");
		printf("%ld\n", n/2);
		printf("1 ");
		for (i=6; i<=n; i+=4) printf("%ld %ld ", i-3, i);
		printf("\n%ld\n", n/2);
		printf("2 ");
		for (i=6; i<=n; i+=4) printf("%ld %ld ", i-2, i-1);
	}
	else
	{
		printf("0\n");
		printf("%ld\n", (n-3)/2+2);
		printf("1 2 ");
		for (i=7; i<=n; i++) printf("%ld %ld ", i-3, i);
		printf("\n%ld\n", (n-3)/2+1);
		printf("3 ");
		for (i=7; i<=n; i++) printf("%ld %ld ", i-2, i-1);
	}

	return 0;
}