Pagini recente » Cod sursa (job #1141098) | Cod sursa (job #284240) | Cod sursa (job #3184864) | Cod sursa (job #278376) | Cod sursa (job #111963)
Cod sursa(job #111963)
/* 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;
}