Cod sursa(job #283073)

Utilizator jupanubv92Popescu Marius jupanubv92 Data 18 martie 2009 18:00:35
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.41 kb
#include<stdio.h>

int n;

int main()
{
  freopen("multimi2.in","r",stdin);
  freopen("multimi2.out","w",stdout);
  scanf("%d",&n);
  if(n%2==0)
   {
    if((n/2)%2==0)
     {printf("0\n");
      printf("%d\n",n/2);
      int i;
      for(i=2;i<=n;)
       {
	printf("%d ",i);
	if(i%2==0)
	  i++;
	else i+=3;
       }
      printf("\n%d\n",n/2);
      for(i=1;i<=n;)
       {
	printf("%d ",i);
	if(i%2!=0)
	  i+=3;
	 else i++;
       }
     }
    else
     {
      printf("1\n");
      printf("%d\n",n/2);
      int i;
      for(i=1;i<=n;)
       {printf("%d ",i);
	if(i%2!=0)
	  i+=3;
	 else i++;
	}
      printf("\n%d\n",n/2);
      for(i=2;i<=n;)
       {printf("%d ",i);
	if(i%2==0)
	  i++;
	 else i+=3;
	}
     }
   }
 else {
     if((n/2)%2==0)
       {
	printf("1\n");
	printf("%d\n",n/2+1);
	int i;
	for(i=1;i<=n;)
	 {
	  printf("%d ",i);
	  if(i==1)
	    i+=2;
	   else if(i%2!=0)
		   i++;
		  else i+=3;
	 }
	printf("\n%d\n",n/2);
	for(i=2;i<=n;)
	 {
	  printf("%d ",i);
	  if(i%2==0) i+=3;
	   else i++;
	 }
	printf("\n");
	}
     else{
      printf("0\n");
      printf("%d\n",n/2+1);
      int i;
      for(i=1;i<=n;)
       {
	printf("%d ",i);
	if(i%2!=0) i++;
	 else i+=3;
       }
      printf("\n%d\n",n/2);
      for(i=3;i<=n;)
       {
	printf("%d ",i);
	if(i%2==0)
	 i+=3;
	 else i++;
       }

     }
    }
  return 0;
}