解题思路:
呵呵,不是我写的。队友直接A掉了。
据说是这样的:如果n是4的倍数,或者是是4的倍数+3.那么他的最小值就是0.否则就是1.另外当 n = k 时,最大值 就是 当 k-1 时的最小值 和 k 的绝对值。
队友如此之神,ORZ
#include <iostream>
#include <queue>
#include <stack>
#include <algorithm>
#include <vector>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <cstdio>
using namespace std;
int n,i;
int main()
{
while (~scanf(" %d",&n))
{
if (n%4==3||n%4==0) printf("0");
else printf("1");
if ((n-1)%4==3||(n-1)%4==0) printf(" %d\n",n);
else printf(" %d\n",n-1);
printf("%d",n);
for (i=n-1;i>0;i--) printf(" %d",i);
printf("\n");
for (i=n-1;i>0;i--) printf("%d ",i);
printf("%d\n",n);
}
return 0;
}