Cod sursa(job #126972)

Utilizator za_wolfpalianos cristian za_wolf Data 23 ianuarie 2008 00:15:55
Problema Multimi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include<stdio.h>
long i,n;
int main()
{
	freopen("multimi2.in","r",stdin);
	freopen("multimi2.out","w",stdout);
	scanf("%ld",&n);
	if (n%4==0)
	{
		printf("0\n");
		printf("%ld\n",n/2);
		for (i=1;i<=n;i++)
			if (i%4==1||i%4==3) printf("%ld ",i);
		printf("\n%ld\n",n/2);
		for (i=1;i<=n;i++)
			if (i%4==2||i%4==0) printf("%ld ",i);
		printf("\n");
	}           else
	if (n%4==1)
	{
		printf("1\n");
		printf("%ld\n",n/2+1);
		printf("1 ");
		for (i=2;i<=n;i++)
			if (i%4==1||i%4==3) printf("%ld ",i);
		printf("\n%ld\n",n/2);
		for (i=2;i<=n;i++)
			if (i%4==2||i%4==0) printf("%ld ",i);
		printf("\n");
	}  else
	if (n%4==2)
	{
		printf("1\n");
		printf("%ld\n",(n-2)/2+1);
		printf("1 ");
		for (i=3;i<=n;i++)
			if (i%4==1||i%4==3) printf("%ld ",i);
		printf("\n%ld\n",(n-2)/2+1);
		printf("2 ");
		for (i=3;i<=n;i++)
			if (i%4==2||i%4==0) printf("%ld ",i);
		printf("\n");
	} else
	if (n%4==3)
	{
		printf("0\n");
		printf("%ld\n",(n-2)/2+2);
		printf("1 2 ");
		if (n==3) printf("\n");
		for (i=4;i<=n;i++)
			if (i%4==1||i%4==3) printf("%ld ",i);
			if (n!=3)
		{
		printf("3 ");

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


	return 0;
}