Cod sursa(job #331166)

Utilizator zbarniZajzon Barna zbarni Data 12 iulie 2009 22:19:20
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <cstdio>
using namespace std;
int n;
int main()
{
	freopen("multimi2.in","r",stdin);
	freopen("multimi2.out","w",stdout);
	int i;
	scanf("%d",&n);
	if (n%4==0)
	{
		printf("0\n%d\n",n/2);
		for (i=1;i<n/2;i+=2)
			printf("%d %d ",i,n-i+1);
		printf("\n%d\n",n/2);
		for (i=2;i<=n/2;i+=2)
			printf("%d %d ",i,n-i+1);
	}
	if (n%4==1)
	{
		printf("1\n%d\n1 ",n/2+1);
		for (i=2;i<(n+1)/2;i+=2)
			printf("%d %d ",i,n-i+2);
		printf("\n%d\n",n/2);
		for (i=3;i<=(n+1)/2;i+=2)
			printf("%d %d ",i,n-i+2);
	}
	if (n%4==2)
	{
		printf("1\n%d\n1 ",n/2);
		for (i=3;i<(n+2)/2;i+=2)
			printf("%d %d ",i,n-i+3);
		printf ("\n%d\n2 ",n/2);
		for (i=4;i<=(n+2)/2;i+=2)
			printf("%d %d ",i,n-i+3);		
	}
	if (n%4==3)
	{
		printf("0\n%d\n",n/2);
		printf("%d ",(n+1)/2+1);
		for (i=2;i<(n+1)/2;i+=2)
			printf("%d %d ",i,n-i+2);
		printf("\n%d\n1 ",n/2+1);
		for (i=3;i<(n+1)/2;i+=2)
			printf("%d %d ",i,n-i+2);
		printf("%d",(n+1)/2);
	}
	printf("\n");
	return 0;
}