Cod sursa(job #133303)

Utilizator katakunaCazacu Alexandru katakuna Data 8 februarie 2008 10:20:39
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.47 kb
#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%d ",1,n/2+1,1);

  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);
  }

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

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

  for(i=n/2+2;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;
}