Cod sursa(job #238447)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 2 ianuarie 2009 10:50:13
Problema Multimi2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.39 kb
#include <stdio.h>
int main()
{
	freopen("multimi2.in","r",stdin);
	freopen("multimi2.out","w",stdout);
	int n,i;
	scanf("%d",&n);
	if (n%4==0)
	{
		printf("0\n");
		printf("%d\n",n/2);
		for (i=4; i<=n; i+=4)
			printf("%d ",i);
		for (i=1; i<n-3; i+=4)
			printf("%d ",i);
		printf("%d\n",n-3);
		printf("%d\n",n/2);
		for (i=3; i<=n; i+=4)
			printf("%d ",i);
		for (i=2; i<=n; i+=4)
			printf("%d ",i); 
	}
    if (n%4==1)
	{
		printf("1\n");
		printf("%d\n",n/2);
		for (i=4; i<=n; i+=4)
			printf("%d ",i);
		for (i=3; i<n-2; i+=4)
			printf("%d ",i);
		printf("%d\n",n-2);
		printf("%d\n",n/2+1);
		printf("1 ");
		for (i=2; i<=n; i+=4)
			printf("%d ",i);
		for (i=5; i<=n; i+=4)
			printf("%d ",i);
	}		
	 if (n%4==2)
	{
		printf("1\n");
		printf("%d\n",n/2);
		printf("1 ");
		for (i=4; i<=n; i+=4)
			printf("%d ",i);
		for (i=3; i<n-3; i+=4)
			printf("%d ",i);
		printf("%d\n",n-3);
		printf("%d\n",n/2);
		printf("2 ");
		for (i=5; i<=n; i+=4)
			printf("%d ",i);
		for (i=6; i<=n; i+=4)
			printf("%d ",i);
	}		
	  if (n%4==3)
	{
		printf("0\n");
		printf("%d\n",n/2+1);
		printf("1 2 ");
		for (i=4;i<=n; i+=4)
			printf("%d ",i);
		for (i=7; i<n; i+=4)
			printf("%d ",i);
		printf("%d\n",n);
		printf("%d\n",n/2);
		printf("3 ");
		for (i=5; i<=n; i+=4)
			printf("%d ",i);
		for (i=6; i<=n; i+=4)
			printf("%d ",i);
	}		
	return 0;
}