Pagini recente » Cod sursa (job #2390812) | Cod sursa (job #1251947) | Cod sursa (job #51335) | Cod sursa (job #1761596) | Cod sursa (job #1549007)
#include <stdio.h>
#define nmax 1000010
using namespace std;
int n,i,first[nmax],second[nmax],st,dr;
int main() {
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
if (n==2) { printf("1\n1\n1\n1\n2"); return 0; }
if (n==3) { printf("0\n2\n1 2\n1\n3"); return 0; }
if (n%2==0) {
st=1; dr=n; int b=0,bb=0;
for (i=1;i<=n/4;i++) {
b++; first[b]=st; b++; first[b]=dr;
st++; dr--;
bb++; second[bb]=st; bb++; second[bb]=dr;
st++; dr--;
}
if (n%4==0) {
printf("%d\n%d\n",0,b);
for (i=1;i<=b;i++) printf("%d ",first[i]);
printf("\n%d\n",bb);
for (i=1;i<=bb;i++) printf("%d ",second[i]);
} else {
b++; first[b]=st; bb++; second[bb]=dr;
printf("%d\n%d\n",1,b);
for (i=1;i<=b;i++) printf("%d ",first[i]);
printf("\n%d\n",bb);
for (i=1;i<=bb;i++) printf("%d ",second[i]);
}
} else {
st=2; dr=n; int b=0,bb=0;
for (i=1;i<=n/4;i++) {
b++; first[b]=st; b++; first[b]=dr;
st++; dr--;
bb++; second[bb]=st; bb++; second[bb]=dr;
st++; dr--;
}
if ((n+1)%4==0) {
b++; first[b]=st; bb++; second[bb]=dr; printf("0\n");
} else printf("1\n");
b++; first[b]=1;
printf("%d\n",b);
for (i=1;i<=b;i++) printf("%d ",first[i]);
printf("\n%d\n",bb);
for (i=1;i<=bb;i++) printf("%d ",second[i]);
}
return 0;
}