Pagini recente » Cod sursa (job #1987966) | Cod sursa (job #72646) | Cod sursa (job #1058166) | Cod sursa (job #445948) | Cod sursa (job #1059614)
#include <cstdio>
using namespace std;
int sol1[1000005],sol2[1000005],N;
inline void Complete(int i, int j)
{
int half=((N+i-1)>>1);
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 rest,i,j;
freopen ("multimi2.in","r",stdin);
freopen ("multimi2.out","w",stdout);
scanf("%d", &N);
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;
}