Cod sursa(job #163471)

Utilizator mihaidutescuDutescu Mihai mihaidutescu Data 22 martie 2008 12:50:17
Problema Multimi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.53 kb
#include<iostream.h>
#include<string.h>
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
int main()
{
clrscr();
FILE *f,*g;
f=fopen("multimi2.in","r");
g=fopen("multimi2.out","w");
long n,n2,ne1=0,ne2=0;
int x=3,z,i;
fscanf(f,"%ld",&n);
n2=n-2;
if(n>3)
{
 if(n%2!=0)
 {
  if((x+(n-5)/2)%2==0)
   {
    z=x+(n-5)/2;
    ne1=(z/2-1)*2+1;
    fprintf(g,"%d",0);
    fprintf(g,"%c",'\n');
    fprintf(g,"%d",ne1);
    fprintf(g,"%c",'\n');
    fprintf(g,"%d",n);
    fprintf(g,"%c",' ');
    for(i=1;i<=z/2-1;i++)
    {
     fprintf(g,"%d",i);
     fprintf(g,"%c",' ');
     fprintf(g,"%d",n-i);
     fprintf(g,"%c",' ');
    }
    fprintf(g,"%c",'\n');
    ne2=z;
    fprintf(g,"%d",ne2);
    fprintf(g,"%c",'\n');
    for(i=i;i<=z-1;i++)
    {
     fprintf(g,"%d",i);
     fprintf(g,"%c",' ');
     fprintf(g,"%d",n-i);
     fprintf(g,"%c",' ');
    }

   }
  else
   {
    z=x+(n2-5)/2;
    ne1=(z/2-1)*2+2;
    fprintf(g,"%d",1);
    fprintf(g,"%c",'\n');
    fprintf(g,"%d",ne1);
    fprintf(g,"%c",'\n');
    fprintf(g,"%d",n2);
    fprintf(g,"%c",' ');
    fprintf(g,"%d",n);
		fprintf(g,"%c",' ');
    for(i=1;i<=z/2-1;i++)
    {
     fprintf(g,"%d",i);
     fprintf(g,"%c",' ');
     fprintf(g,"%d",n2-i);
     fprintf(g,"%c",' ');
    }
    fprintf(g,"%c",'\n');
    ne2=n-ne1;
    fprintf(g,"%d",ne2);
    fprintf(g,"%c",'\n');
    fprintf(g,"%d",n-1);
    fprintf(g,"%c",' ');
    for(i=i;i<=z-1;i++)
    {
     fprintf(g,"%d",i);
     fprintf(g,"%c",' ');
     fprintf(g,"%d",n2-i);
     fprintf(g,"%c",' ');
    }
   }
 }
 else
 {
  fprintf(g,"%d",0);
  fprintf(g,"%c",'\n');
  fprintf(g,"%d",n/2);
  fprintf(g,"%c",'\n');
  for(i=1;i<=n/4;i++)
   {
     fprintf(g,"%d",i);
     fprintf(g,"%c",' ');
     fprintf(g,"%d",n-i+1);
     fprintf(g,"%c",' ');
    }
  fprintf(g,"%c",'\n');
  fprintf(g,"%d",n/2);
  fprintf(g,"%c",'\n');
  for(i=i;i<=n/2;i++)
   {
     fprintf(g,"%d",i);
     fprintf(g,"%c",' ');
     fprintf(g,"%d",n-i+1);
     fprintf(g,"%c",' ');
    }
 }
}
if(n==3)
{
 fprintf(g,"%d",0);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",2);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",1);
 fprintf(g,"%c",' ');
 fprintf(g,"%d",2);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",1);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",3);
}
if(n==2)
{
 fprintf(g,"%d",1);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",1);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",1);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",1);
 fprintf(g,"%c",'\n');
 fprintf(g,"%d",2);
}
return(0);
}