Cod sursa(job #308176)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 26 aprilie 2009 11:49:03
Problema Multimi2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<stdio.h>
//#include<conio.h>

int main()
{
 //clrscr();

 freopen("multimi2.in","r",stdin);
 freopen("multimi2.out","w",stdout);

 int n,i;

 scanf("%d",&n);

 switch(n%4)
 {
  case 0:
    printf("0\n%d\n",n/2);
    for(i=1; i<=n/4; ++i) printf("%d ",i);
    for(i=n-(n/4)+1; i<=n; ++i) printf("%d ",i);
    printf("\n%d\n",n/2);
    for(i=(n/4)+1; i<=n-(n/4); ++i) printf("%d ",i);
    break;
  case 1:
    printf("1\n%d\n",(n/2)+1);
    for(i=1; i<=(n/4)+1; ++i) printf("%d ",i);
    for(i=n-(n/4)+1; i<=n; ++i) printf("%d ",i);
    printf("\n%d\n",n/2);
    for(i=(n/4)+2; i<=n-(n/4); ++i) printf("%d ",i);
    break;
  case 2:
   printf("1\n%d\n1 ",n/2);
   for(i=3; i<=(n/4)+2; ++i) printf("%d ",i);
   for(i=n-(n/4)+1; i<=n; ++i) printf("%d ",i);
   printf("\n%d\n2 ",n/2);
   for(i=(n/4)+3; i<=n-(n/4); ++i) printf("%d ",i);
   break;
  case 3:
    printf("1\n%d\n1 2 ",(n/2)+1);
    for(i=4; i<=(n/4)+3; ++i) printf("%d ",i);
    for(i=n-(n/4)+1; i<=n; ++i) printf("%d ",i);
    printf("\n%d\n3 ",n/2);
    for(i=(n/4)+4; i<=n-(n/4); ++i) printf("%d ",i);
 }
 return 0;
}