Cod sursa(job #396460)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 15 februarie 2010 13:54:16
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.42 kb
#include<stdio.h>
#include<stdlib.h>
#define FIN "multimi2.in"
#define FOUT "multimi2.out"
#define NMAX 1000005
using namespace std;
int n;
int main()
{freopen(FIN ,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d",&n);
int r=n%4;
switch(r)
{case 0: {printf("0\n%d\n",n/2);
          for(int i=0;i<n/4;i++)
          printf("%d %d ",4*i+1,4*i+4);
          printf("\n%d\n",n/2);
          for(int i=0;i<n/4;i++)
          printf("%d %d ",4*i+2,4*i+3);
          break; }
 case 1:{printf("1\n%d\n",n/2+1);
          printf("1 ");
          for(int i=0;i<(n-1)/4;i++)
           printf("%d %d ",4*i+2,4*i+5);
          printf("\n%d\n",n/2);
         for(int i=0;i<(n-1)/4;i++)
          printf("%d %d ",4*i+3,4*i+4);  
           break;
           }   
  case 2:{printf("1\n%d\n",(n/2));
          printf("1 ");
          for(int i=0;i<(n-2)/4;i++)
           printf("%d %d ",4*i+3,4*i+6);
          printf("\n%d\n",(n/2));
          printf("2 ");
          for(int i=0;i<(n-2)/4;i++)
           printf("%d %d ",4*i+4,4*i+5);
           break;}
  case 3:{printf("0\n%d\n",(n/2)+1);
          printf("1 2 ");
          for(int i=0;i<(n-3)/4;i++)
           printf("%d %d ",4*i+4,4*i+7);
          printf("\n%d\n",(n/2));
          printf("3 ");
          for(int i=0;i<(n-3)/4;i++)
           printf("%d %d ",4*i+5,4*i+6);
           break;
       
         }                           
         }
return 0;}