Pagini recente » Cod sursa (job #1821007) | Cod sursa (job #817308) | Cod sursa (job #1954177) | Cod sursa (job #2642005) | Cod sursa (job #1059605)
#include <cstdio>
using namespace std;
int sol1[1000005],sol2[1000005],half;
inline void Complete(int i, int j)
{
while(i<=half)
{
if(i&1)
{
sol1[++sol1[0]]=i;
sol1[++sol1[0]]=j;
}
else
{
sol2[++sol2[0]]=i;
sol2[++sol2[0]]=j;
}
++i; --j;
}
}
int main()
{
int N,rest,i,j;
freopen ("multimi2.in","r",stdin);
freopen ("multimi2.out","w",stdout);
scanf("%d", &N); half=(N>>1);
rest=(N&3);
if(rest==0)
{
printf("0\n");
Complete(1,N);
}
else
if(rest==1)
{
printf("1\n");
sol1[++sol1[0]]=1;
Complete(2,N);
}
else
if(rest==2)
{
printf("1\n");
sol1[++sol1[0]]=1;
sol2[++sol2[0]]=2;
Complete(3,N);
}
else
{
printf("0\n");
sol1[++sol1[0]]=1;
sol1[++sol1[0]]=2;
sol2[++sol2[0]]=3;
Complete(4,N);
}
printf("%d\n", sol1[0]);
for(i=1;i<=sol1[0];++i)
printf("%d ", sol1[i]);
printf("\n");
printf("%d\n", sol2[0]);
for(i=1;i<=sol2[0];++i)
printf("%d ", sol2[i]);
printf("\n");
return 0;
}