Cod sursa(job #1077203)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 10 ianuarie 2014 23:25:37
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.86 kb
#include<iostream>
#include<vector>
using namespace std;

int N, i;


int main()
{
	freopen("multimi2.in", "r", stdin);
	freopen("multimi2.out", "w", stdout);

	cin >> N;

	if(N % 4 == 1 || N % 4 == 2)
		cout <<  "1\n";
	else
		cout <<  "0\n";

	if (N % 4 == 1)
	{
 
        cout <<  N/2+1 << '\n' <<  "1 ";
 
        for(i = 2; i <= N/2+1; i += 2)
                cout <<  i <<  " ";
        for (i = N/2+3; i<=N ; i += 2)
                cout <<  i <<  " ";
 
 
        cout <<  '\n' <<  N/2 <<  '\n';
 
        for(i = 3; i <= N/2+1; i += 2)
                cout <<  i <<  " ";
 
        for(i = N/2+2; i <= N; i+= 2)
                cout <<  i <<  " ";
 
     }
 
    if(N % 4 == 2)
    {
        cout <<  N/2 <<  '\n' <<  "1 ";
 
        for(i = 3; i <= N/2; i += 2)
                cout << i << " ";
 
        for(i=N/2+3;i<=N;i+=2)
                cout << i << " ";
 
 
        cout << '\n'<< N/2<< '\n';
 
        for(i=2;i<=N/2+1;i+=2)
                cout << i<< " ";
        for(i=N/2+2;i<=N;i+=2)
                cout << i<< " ";
 
    }
 
    if (N % 4 == 3)
    {
        cout << N/2+1<< '\n'<< "1 2 ";
 
        for(i=4;i<=N/2+1;i+=2)
                cout << i<< " ";
        for(i=N/2+4;i<=N;i+=2)
                cout << i<< " ";
 
 
        cout << '\n'<< N/2<< "\n3 ";
 
        for(i=5;i<=N/2+2;i+=2)
                cout << i<< " ";
        for(i=N/2+3;i<=N;i+=2)
                cout << i<< " ";
 
    }
    if(N % 4 == 0)
    {
        cout << N/2<< '\n';
 
        for (i=1;i<=N/2;i+=2)
               cout << i<< " ";
        for (i=N/2+2;i<=N;i+=2)
               cout << i<< " ";
 
 
        cout << '\n'<< N/2<< '\n';
 
        for(i=2;i<=N/2;i+=2)
               cout << i<< " ";
        for(i=N/2+1;i<=N;i+=2)
               cout << i<< " ";
 
    }

	return 0;
}