Cod sursa(job #204731)

Utilizator mordredSimionescu Andrei mordred Data 26 august 2008 17:52:17
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <stdio.h>
int n,i;

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

 printf("0\n%d\n3 ",n/2);
 for(i=4;i<n/2+2;++i,++i) printf("%d ",i);
 for(i=n/2+4;i<=n;++i,++i) printf("%d ",i); printf("\n");
 printf("%d\n1 2 ",n/2+1); 
 for(i=5;i<n/2+3;++i,++i) printf("%d ",i);
 for(i=n/2+3;i<n;++i,++i) printf("%d ",i); 
 return 0;
}