Cod sursa(job #2306237)

Utilizator adimiclaus15Miclaus Adrian Stefan adimiclaus15 Data 21 decembrie 2018 20:13:21
Problema Multimi2 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.67 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("multimi2.in");
ofstream g("multimi2.out");
int n,i,nr;
int main()
{
    f>>n;
    if(n%4==0)
    {
        g<<0<<"\n";
        nr=0;
        i=1;
        while(i+3<=n)
        {
            nr=nr+2;
            i=i+4;
        }
        g<<nr<<"\n";
        i=1;
        while(i+3<=n)
        {
            g<<i<<" "<<i+3<<" ";
            i=i+4;
        }
        g<<"\n";
        g<<n-nr<<"\n";
        i=1;
        while(i+3<=n)
        {
            g<<i+1<<" "<<i+2<<" ";
            i=i+4;
        }
    }
    else
    {
        if(n%4==1)
        {
            g<<1<<"\n";
            nr=1;
            i=2;
            while(i+3<=n)
            {
                nr=nr+2;
                i=i+4;
            }
            g<<nr<<"\n";
            i=2;
            g<<1<<" ";
            while(i+3<=n)
            {
                g<<i<<" "<<i+3<<" ";
                i=i+4;
            }
            g<<"\n";
            g<<n-nr<<"\n";
            i=2;
            while(i+3<=n)
            {
                g<<i+1<<" "<<i+2<<" ";
                i=i+4;
            }
        }
        else
        {
            if(n%4==2)
            {
                g<<1<<"\n";
                nr=1;
                i=3;
                while(i+3<=n)
                {
                    nr=nr+2;
                    i=i+4;
                }
                g<<nr<<"\n";
                i=2;
                g<<1<<" ";
                while(i+3<=n)
                {
                    g<<i<<" "<<i+3<<" ";
                    i=i+4;
                }
                g<<"\n";
                g<<n-nr<<"\n";
                i=2;
                g<<2<<" ";
                while(i+3<=n)
                {
                    g<<i+1<<" "<<i+2<<" ";
                    i=i+4;
                }
            }
            else
            {
                g<<0<<"\n";
                nr=2;
                i=4;
                while(i+3<=n)
                {
                    nr=nr+2;
                    i=i+4;
                }
                g<<nr<<"\n";
                i=4;
                g<<1<<" "<<2<<" ";
                while(i+3<=n)
                {
                    g<<i<<" "<<i+3<<" ";
                    i=i+4;
                }
                g<<"\n";
                g<<n-nr<<"\n";
                i=4;
                g<<3<<" ";
                while(i+3<=n)
                {
                    g<<i+1<<" "<<i+2<<" ";
                    i=i+4;
                }
            }
        }
    }
    return 0;
}