Cod sursa(job #133302)

Utilizator katakunaCazacu Alexandru katakuna Data 8 februarie 2008 10:06:46
Problema Multimi2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.66 kb
/*
4k
b a b a a b a b
1 2 3 4 5 6 7 8

4k+1

a b a b a a b a b
1 2 3 4 5 6 7 8 9


4k+2

b a b a a b a b a b
1 2 3 4 5 6 7 8 9 10


4k+3

a a b b a b a a b a  b
1 2 3 4 5 6 7 8 9 10 11
*/

#include<stdio.h>
int n,i;


int main(){

FILE *f=fopen("multimi2.in","r");
fscanf(f,"%d",&n);
fclose(f);

FILE *g=fopen("multimi2.out","w");

if(n%4==0){

fprintf(g,"%d\n%d\n",0,n/2);

  for(i=1;i<=n/2-1;i+=2){
  fprintf(g,"%d ",i);
  }


  for(i=n/2+2;i<=n;i+=2){
  fprintf(g,"%d ",i);
  }

  fprintf(g,"\n%d\n",n/2);

  for(i=2;i<=n/2;i+=2){
  fprintf(g,"%d ",i);
  }

  for(i=n/2+1;i<=n;i+=2){
  fprintf(g,"%d ",i);
  }


}

if(n%4==1){

fprintf(g,"%d\n%d\n",1,n/2+1);

  for(i=5;i<=n/2;i+=2){
  fprintf(g,"%d ",i);
  }


  for(i=n/2+2;i<n;i+=2){
  fprintf(g,"%d ",i);
  }

  fprintf(g,"\n%d\n",n/2);

  for(i=2;i<=n/2;i+=2){
  fprintf(g,"%d ",i);
  }

  for(i=n/2+3;i<=n;i+=2){
  fprintf(g,"%d ",i);
  }


}

if(n%4==2){

fprintf(g,"%d\n%d\n",1,n/2);

  for(i=1;i<=n/2-1;i+=2){
  fprintf(g,"%d ",i);
  }


  for(i=n/2+1;i<=n;i+=2){
  fprintf(g,"%d ",i);
  }

  fprintf(g,"\n%d\n",n/2);

  for(i=2;i<=n/2-1;i+=2){
  fprintf(g,"%d ",i);
  }

  for(i=n/2;i<=n;i+=2){
  fprintf(g,"%d ",i);
  }

}

   if(n%4==3){

fprintf(g,"%d\n%d\n",0,n/2+1);

fprintf(f,"%d %d ",1,2);

  for(i=5;i<=n/2+2;i+=2){
  fprintf(g,"%d ",i);
  }


  for(i=n/2+3;i<=n;i+=2){
  fprintf(g,"%d ",i);
  }

fprintf(g,"\n%d\n",n/2);

fprintf(f,"%d %d ",3,4);

  for(i=6;i<=n/2+1;i+=2){
  fprintf(g,"%d ",i);
  }

  for(i=n/2+4;i<=n;i+=2){
  fprintf(g,"%d ",i);
  }

}



fclose(g);
return 0;
}