Cod sursa(job #253067)

Utilizator mihaipoascaPoasca Mihai mihaipoasca Data 5 februarie 2009 13:31:17
Problema Multimi2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.48 kb
#include<stdio.h>

FILE *fin=fopen("multimi2.in","r"),
    *fout=fopen("multimi2.out","w");

int N;

int main(){
    fscanf(fin,"%d",&N);
    if(N%4==0){
        fprintf(fout,"0\n%d\n",N/2);
        for(int i=1;i<=N/4;i++)
            fprintf(fout,"%d ",i);
        for(int i=N/4*3+1;i<=N;i++)
            fprintf(fout,"%d ",i);
        fprintf(fout,"\n%d\n",N/2);
        for(int i=N/4+1;i<=N/4*3;i++)
            fprintf(fout,"%d ",i);
    }
    if(N%4==1){
        fprintf(fout,"1\n%d\n",N/2+1);
        for(int i=1;i<=N/4+1;i++)
            fprintf(fout,"%d ",i);
        for(int i=N/4*3+2;i<=N;i++)
            fprintf(fout,"%d ",i);
        fprintf(fout,"\n%d\n",N/2);
        for(int i=N/4+2;i<=N/4*3+1;i++)
            fprintf(fout,"%d ",i);
    }
    if(N%4==2){
        fprintf(fout,"1\n%d\n",N/2);
        for(int i=2;i<=N/4+2;i++)
            fprintf(fout,"%d ",i);
        for(int i=N/4*3+3;i<=N;i++)
            fprintf(fout,"%d ",i);
        fprintf(fout,"\n%d\n1 ",N/2);
        for(int i=N/4+3;i<=N/4*3+2;i++)
            fprintf(fout,"%d ",i);
    }
    if(N%4==3){
        fprintf(fout,"0\n%d\n",N/2);
        for(int i=3;i<=N/4+3;i++)
            fprintf(fout,"%d ",i);
        for(int i=N/4*3+4;i<=N;i++)
            fprintf(fout,"%d ",i);
        fprintf(fout,"\n%d\n1 2",N/2+1);
        for(int i=N/4+3;i<=N/4*3+2;i++)
            fprintf(fout,"%d ",i);
    }
    fprintf(fout,"\n");
    fclose(fin);
    fclose(fout);
    return 0;
}