Pagini recente » Cod sursa (job #1537978) | Cod sursa (job #1953152) | Cod sursa (job #850562) | Cod sursa (job #540495) | Cod sursa (job #131223)
Cod sursa(job #131223)
// 50 puncte
#include <stdio.h>
#define in "multimi2.in"
#define out "multimi2.out"
#define NMAX 1000001
#include <vector>
#include <algorithm>
using namespace std;
int n;
vector<int> A;
vector<int> B;
int main()
{
freopen( in, "r", stdin );
freopen( out, "w", stdout );
scanf( "%d", &n );
int i;
if ( n % 4 == 0 )
{
for ( i = 1; i <= n; ++i )
{
if ( i % 4 == 0 || i % 4 == 3 ) A.push_back( i );
else B.push_back( i );
}
printf( "%d\n", 0 );
}
else if ( n % 4 == 1 )
{
A.push_back( 1 );
for ( i = 2; i <= n; ++i )
{
if ( i % 4 == 0 || i % 4 == 3 ) A.push_back( i );
else B.push_back( i );
}
printf( "%d\n", 1 );
}
else if ( n % 4 == 2 )
{
A.push_back( 1 );
B.push_back( 2 );
for ( i = 3; i <= n; ++i )
{
if ( i % 4 == 0 || i % 4 == 3 ) A.push_back( i );
else B.push_back( i );
}
printf( "%d\n", 1);
}
else if ( n % 4 == 3 )
{
A.push_back( 1 );
A.push_back( 2 );
B.push_back( 3 );
for ( i = 4; i <= n; ++i )
{
if ( i % 4 == 0 || i % 4 == 3 ) A.push_back( i );
else B.push_back( i );
}
printf( "%d\n", 0);
}
printf( "%d\n", A.size() );
for ( i = 0; i < A.size(); ++i )
printf( "%d ", A[i] );
printf( "\n%d\n", B.size() );
for ( i = 0; i < B.size(); ++i )
printf( "%d ", B[i] );
return 0;
}