Cod sursa(job #1070240)

Utilizator robertstrecheStreche Robert robertstreche Data 31 decembrie 2013 14:08:09
Problema Multimi2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.23 kb
#include <fstream>

using namespace std;

ifstream f("multimi2.in");
ofstream g("multimi2.out");

long long n,i;

int main()
{

    f>>n;
    if (n%4==1 || n%4==2)
     g<<"1\n";
    else
     g<<"0\n";

    if (n%4==1)
     {

         g<<n/2+1<<'\n'<<"1 ";

          for (i=2;i<=n;i++)
             {
                if (i<=n/2+1 && i%2==0)
                   g<<i<<" ";
                if (i>n/2+1 && i%2)
                   g<<i<<" ";
             }

         g<<'\n'<<n/2<<'\n';
            for (i=2;i<=n;i++)
             {
                if (i<=n/2+1 && i%2)
                   g<<i<<" ";
                if (i>n/2+1 && i%2==0)
                   g<<i<<" ";
             }
     }

     if (n%4==2)
      {
          g<<n/2<<'\n'<<"1 ";

          for (i=2;i<=n;i++)
             {
                if (i<=n/2 && i%2)
                   g<<i<<" ";
                if (i>n/2+1 && i%2==0)
                   g<<i<<" ";
             }

         g<<'\n'<<n/2<<'\n';
            for (i=2;i<=n;i++)
             {
                if (i<=n/2+1 && i%2==0)
                   g<<i<<" ";
                if (i>n/2 && i%2)
                   g<<i<<" ";
             }
      }

     if (n%4==3)
      {
          g<<n/2+1<<'\n'<<"1 2 ";

          for (i=4;i<=n;i++)
             {
                if (i<=n/2+1 && i%2==0)
                   g<<i<<" ";
                if (i>n/2+2 && i%2)
                   g<<i<<" ";
             }

         g<<'\n'<<n/2<<"\n3 ";
            for (i=4;i<=n;i++)
             {
                if (i<=n/2+2 && i%2)
                   g<<i<<" ";
                if (i>n/2+1 && i%2==0)
                   g<<i<<" ";
             }
      }
       if (n%4==0)
      {
          g<<n/2<<'\n';

          for (i=1;i<=n;i++)
             {
                if (i<=n/2 && i%2)
                   g<<i<<" ";
                if (i>n/2 && i%2==0)
                   g<<i<<" ";
             }

         g<<'\n'<<n/2<<'\n';
            for (i=1;i<=n;i++)
             {
                if (i<=n/2 && i%2==0)
                   g<<i<<" ";
                if (i>n/2 && i%2)
                   g<<i<<" ";
             }
      }

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