Pagini recente » Cod sursa (job #1684129) | Cod sursa (job #664566) | Cod sursa (job #671356) | Istoria paginii runda/pregatireoji2011 | Cod sursa (job #1776924)
#include <cstdio>
using namespace std;
int n, a[1000002], b[1000002];
int main()
{
freopen("multimi2.in", "r", stdin);
freopen("multimi2.out", "w", stdout);
scanf("%d", &n);
if(n % 2 == 0){
int NR = 0; bool ok = 0;
for(int i = 1; i <= n; i = i + 2){
if(ok == 0)
a[++NR] = i, b[NR] = i + 1;
else
a[++NR] = i + 1, b[NR] = i;
ok = 1 - ok;
}
if(n % 4 == 0)
printf("0\n");
else
printf("1\n");
printf("%d\n", NR);
for(int i = 1; i <= NR; ++i)
printf("%d ", a[i]);
printf("\n%d\n", NR);
for(int i = 1; i <= NR; ++i)
printf("%d ", b[i]);
}
else{
int NR = 0; bool ok = 0;
for(int i = 2; i <= n; i = i + 2){
if(ok == 0)
a[++NR] = i, b[NR] = i + 1;
else
a[++NR] = i + 1, b[NR] = i;
ok = 1 - ok;
}
if(n % 4 == 1)
printf("1\n");
else
printf("0\n");
printf("%d\n%d ", NR + 1, 1);
for(int i = 1; i <= NR; ++i)
printf("%d ", a[i]);
printf("\n%d\n", NR);
for(int i = 1; i <= NR; ++i)
printf("%d ", b[i]);
}
return 0;
}