Cod sursa(job #1457869)

Utilizator miricelMiricel Daniel Mihai miricel Data 4 iulie 2015 18:00:36
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.53 kb
#include<fstream>
using namespace std;

int i,n,dif;
int main()
{
    ifstream f("multimi2.in");
    ofstream g("multimi2.out");
    f>>n;
    if(n%4==0)
    {
    g<<0<<"\n";
        dif=n/4;
        g<<dif*2<<"\n";

        for(i=1;i<=dif;i++)

            g<<i<<" "<<n-i+1<<" ";
            g<<"\n";

        g<<dif*2<<"\n";

        for(i=dif+1;i<=n/2;i++)

            g<<i<<"\n"<<n-i+1<<"\n";
    }
    else
        if(n%4==1)
    {
        dif=n/4;

        g<<1<<"\n";

        g<<2*dif+1<<"\n";
        g<<1<<" ";

        for(i=2;i<2+dif;i++)

            g<<i<<" "<<n-i+2<<" ";
            g<<"\n";

            g<<2*dif<<"\n";

        for(i=2+dif;i<=(n+1)/2;i++)

            g<<i<<"\n"<<n-i+2<<"\n";
    }
    else
        if(n%4==2)
    {
        dif=n/4;

        g<<1<<"\n";

        g<<2*dif+1<<"\n";
        g<<1<<" ";

        for(i=3;i<3+dif;i++)

            g<<i<<" "<<n-i+3<<" ";
            g<<"\n";


            g<<2*dif+1<<"\n";

            g<<2<<"\n";
            for(i=3+dif;i<=(n+2)/2;i++)

                g<<i<<"\n"<<n-i+3<<"\n";
                g<<"\n";

    }
    else
        if(n%4==3)
    {
    g<<0<<"\n";
        dif=n/4;

        g<<2*dif+2<<"\n";

        g<<1<<" "<<2<<" ";
        for(i=4;i<4+dif;i++)

            g<<i<<" "<<n-i+4<<" ";
            g<<"\n";

        g<<2*dif+1<<"\n";

        g<<3<<"\n";
        for(i=4+dif;i<=(n+3)/2;i++)

           g<<i<<"\n"<<n-i+4<<"\n";

    }
 f.close();
 g.close();
 return 0;
 }