Cod sursa(job #1070246)
Utilizator | Data | 31 decembrie 2013 14:21:42 | |
---|---|---|---|
Problema | Multimi2 | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.36 kb |
#include <cstdio>
using namespace std;
long long n,i;
int main()
{
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
if (n%4==1 || n%4==2)
printf("1\n");
else
printf("0\n");
if (n%4==1)
{
printf("%d\n1 ",n/2+1);
for (i=2;i<=n;i++)
{
if (i<=n/2+1 && i%2==0)
printf("%d ",i);
if (i>n/2+1 && i%2)
printf("%d ",i);
}
printf("\n%d\n",n/2);
for (i=2;i<=n;i++)
{
if (i<=n/2+1 && i%2)
printf("%d ",i);
if (i>n/2+1 && i%2==0)
printf("%d ",i);
}
}
if (n%4==2)
{
printf("%d\n1",n/2);
for (i=2;i<=n;i++)
{
if (i<=n/2 && i%2)
printf("%d ",i);
if (i>n/2+1 && i%2==0)
printf("%d ",i);
}
printf("\n%d\n",n/2);
for (i=2;i<=n;i++)
{
if (i<=n/2+1 && i%2==0)
printf("%d ",i);
if (i>n/2 && i%2)
printf("%d ",i);
}
}
if (n%4==3)
{
printf("%d\n1 2 ",n/2+1);
for (i=4;i<=n;i++)
{
if (i<=n/2+1 && i%2==0)
printf("%d ",i);
if (i>n/2+2 && i%2)
printf("%d ",i);
}
printf("\n%d\n3",n/2);
for (i=4;i<=n;i++)
{
if (i<=n/2+2 && i%2)
printf("%d ",i);
if (i>n/2+1 && i%2==0)
printf("%d ",i);
}
}
if (n%4==0)
{
printf("%d\n",n/2);
for (i=1;i<=n;i++)
{
if (i<=n/2 && i%2)
printf("%d ",i);
if (i>n/2 && i%2==0)
printf("%d ",i);
}
printf("\n%d\n",n/2);
for (i=1;i<=n;i++)
{
if (i<=n/2 && i%2==0)
printf("%d ",i);
if (i>n/2 && i%2)
printf("%d ",i);
}
}
}