Cod sursa(job #831513)

Utilizator 5t3fristea stefan 5t3f Data 8 decembrie 2012 18:24:41
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.44 kb
// multimi2.cpp : Defines the entry point for the console application.
//
 
//#include "stdafx.h"
#include "fstream"
using namespace std;
int n;
int main()
{
    ifstream f;
    f.open("multimi2.in");
    ofstream g("multimi2.out");
    f>>n;
    /////////////////////////////////////////////rest 0
 
 
 
    if(n%4==0)
    {
        g<<0<<"\n";
        g<<n/2<<"\n";
        int tmp=n;
        int i=1;
        while(i<=n/2-1)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }
        g<<"\n";
        g<<n/2<<"\n";
        tmp=n-1;
        i=2;
        while(i<=n/2)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }   
    }
 
 
    ////////////////////////////////////////////rest 0
    ////////////////////////////////////////////rest 1
 
 
    if(n%4==1)
    {
        g<<1<<"\n";
        g<<n/2<<"\n";
        int tmp=n;
        int i=2;
        while(i<=n/2)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }
        g<<"\n";
        g<<(n/2)+1<<"\n";
        tmp=n-1;
        i=3;
        while(i<=n/2+1)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }
        g<<1;
    }
    ////////////////////////////////////////////rest 1
    ////////////////////////////////////////////rest 2
 
 
    if(n%4==2)
    {
        g<<1<<"\n";
        g<<n/2<<"\n";
        int i=1;
        int tmp=n;
        while(i<n/2)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }
        g<<n/2;
        i=2;
        tmp=n-1;
        g<<"\n"<<n/2<<"\n";
        while(i<n/2)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }
        g<<n/2+1;
    }
    //////////////////////////////////////////////////rest 2
    //////////////////////////////////////////////////rest 3
    if(n%4==3)
    {
        g<<0<<"\n";
        g<<n/2+1<<"\n";
        int i=2;
        int tmp=n;
        while(i<n/2+1)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }
        g<<n/2+1<<" "<<1;
        g<<"\n";
        g<<n/2<<"\n";
        i=3;
        tmp=n-1;
        while(i<=n/2)
        {
            g<<i<<" "<<tmp<<" ";
            i+=2;
            tmp-=2;
        }
        g<<n/2+2;
    }
    return 0;
}