Pagini recente » Cod sursa (job #100385) | Cod sursa (job #672538) | Cod sursa (job #338489) | Cod sursa (job #982533) | Cod sursa (job #2569550)
#include <fstream>
#include <algorithm>
using namespace std;
typedef long long ll;
ifstream fi("multimi2.in");
ofstream fo("multimi2.out");
ll s1,s2;
ll bt(ll n)
{
if(n%4==0)
return 0;
if(n%2==1 && n>5)
{
if((n-3)%4==0)
return 0;
return 1;
}
if(n%2==0)///nu e div cu 4
return 1;
if(n==3)
return 0;
if(n==1)
return 1;
if(n==5)
return 1;
}
ll n;
int main()
{
fi>>n;
fo<<bt(n)<<"\n";
if(n%4==0)
{
fo<<n/2<<"\n";
for(int i=1;i<=n/4;i++)
/// 1...n/4
fo<<i<<" ";
for(int i=3*n/4+1;i<=n;i++)
/// 3*n/4+1 , ...n
fo<<i<<" ";
fo<<"\n"<<n/2<<"\n";
///1*n/4....3*n/4
for(int i=n/4+1;i<=3*n/4;i++)
fo<<i<<" ";
}
if(n%2==1)
if((n-3)%4==0)
{
fo<<2+(n-3)/2<<"\n"<<"1 2 ";
for(int i=4;i<=n;i+=2)
fo<<i+((i%4)/2)<<" ";
fo<<"\n"<<1+(n-3)/2<<"\n3 ";
for(int i=4;i<=n;i+=2)
fo<<i+1-(i%4)/2<<" ";
}
else
{
fo<<2+(n-3)/2<<"\n"<<"1 2 ";
for(int i=4;i<=n;i+=2)
fo<<i+((i%4)/2)<<" ";
fo<<"\n"<<1+(n-3)/2<<"\n3 ";
for(int i=4;i<=n;i+=2)
fo<<i+1-(i%4)/2<<" ";
}
if(n%2==0 && n%4!=0)
{
fo<<n/2<<"\n";
for(int i=1;i<=n;i+=2)
fo<<i+((i%4)==3)<<" ";
fo<<"\n"<<n/2<<"\n";
for(int i=1;i<=n;i+=2)
fo<<i+((i%4)==1)<<" ";
}
return 0;
}