Pagini recente » Cod sursa (job #2784729) | Cod sursa (job #453267) | Cod sursa (job #893311) | Cod sursa (job #361001) | Cod sursa (job #111965)
Cod sursa(job #111965)
/* Ivan Nicolae - Bucuresti */
/* Infoarena - Multimi2 */
#include <stdio.h>
#define _fin "multimi2.in"
#define _fout "multimi2.out"
#define Next(x) (((x) < 4) ? (x)+1 : 1)
int i,N;
int main()
{
freopen(_fin,"r",stdin);
freopen(_fout,"w",stdout);
scanf("%d",&N);
if (N % 4 == 0)
{
printf("0\n%d\n",N/2);
int x=1;
for (i=1;i<=N;i++)
{
if (x==1 || x==4) printf("%d ",i);
x=Next(x);
}
printf("\n%d\n",N/2);
x=1;
for (i=1;i<=N;i++)
{
if (x==2 || x==3) printf("%d ",i);
x=Next(x);
}
}
else if (N % 4 == 1)
{
printf("1\n%d\n",1+(N-1)/2);
printf("1 ");
int x=1;
for (i=2;i<=N;i++)
{
if (x==1 || x==4) printf("%d ",i);
x=Next(x);
}
printf("\n%d\n",(N-1)/2);
x=1;
for (i=2;i<=N;i++)
{
if (x==2 || x==3) printf("%d ",i);
x=Next(x);
}
}
else if (N % 4 == 2)
{
printf("1\n%d\n",1+(N-2)/2);
printf("1 ");
int x=1;
for (i=3;i<=N;i++)
{
if (x==1 || x==4) printf("%d ",i);
x=Next(x);
}
printf("\n%d\n%d ",1+(N-2)/2,2);
x=1;
for (i=3;i<=N;i++)
{
if (x==2 || x==3) printf("%d ",i);
x=Next(x);
}
}
else if (N % 4 == 3)
{
printf("0\n%d\n",2+((N-3)/2));
printf("1 2 ");
int x=1;
for (i=4;i<=N;i++)
{
if (x==1 || x==4) printf("%d ",i);
x=Next(x);
}
printf("\n%d\n",1+(N-3)/2);
printf("3 ");
x=1;
for (i=4;i<=N;i++)
{
if (x==2 || x==3) printf("%d ",i);
x=Next(x);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}