Cod sursa(job #473569)

Utilizator borsoszalanBorsos Zalan borsoszalan Data 30 iulie 2010 13:05:07
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include<stdio.h>

int main()
{

 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("0\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);
   break;
 }
 return 0;
}