Cod sursa(job #205629)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 2 septembrie 2008 11:03:13
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.34 kb
#include<stdio.h>
long int n,i;
main()
{
	freopen ("multimi2.in","r",stdin);
	freopen ("multimi2.out","w",stdout);
	scanf("%ld",&n);
	if (n%2==0)
	{
		if ((n/2)%2==0)
		{
		 printf ("0 \n");
		 printf("%ld \n",n/2);
		 for (i=1; i<=n/4; i++)	printf("%ld %ld ",i,n-i+1);
		 printf("\n");
		 printf("%ld ",n/2);
		 printf("\n");
		 for (i=n/4+1; i<=n-(n/4);i++ ) printf ("%ld ",i);
		 printf("\n");
		}
		else
		{
		 printf ("1 \n");
		 printf("%ld \n",n/2);
		 for (i=1; i<=n/2; i=i+2) 
			 if (i==n/2) printf("%ld ",i);
			 else
			 printf("%ld %ld ",i,n-i+1);
			 printf("\n");
		 printf("%ld \n",n/2);
		 for (i=2; i<=n/2;i=i+2) 
			 printf("%ld %ld ",i,n-i+1);
		 printf("%ld \n",n/2+1);
		}
	}
	else
	{
	  if ((n/2+1)%2==1)
	  {
		printf("1 \n");printf("%ld \n",n/2+1);
		for (i=1; i<=n/2+1; i=i+2)
		{
			if (i==n/2+1) printf("%ld ",i);
			else printf("%ld %ld ",i,n-i);
		}
		printf("\n");
		printf("%ld\n",n/2);
		for (i=2; i<=n/2+1; i=i+2) printf("%ld %ld ",i,n-i+2);
		printf("\n");
	  }
	  else
	  {
		printf("0 \n");
		printf("%ld \n",n/2+1);
		for (i=2; i<=n/2+1; i=i+2)
			if (i!=n/2+1) printf ("%ld %ld ",i,n-i+2);
			else
				printf("%ld %ld ",1,n/2+1);
		printf("\n");
		printf("%ld \n",n/2);
		for (i=3; i<n/2+1; i=i+2)
			printf ("%ld %ld ",i,n-i+2);
	  printf("%ld \n",n/2+2);
	  }
	  
	}
}