Cod sursa(job #155725)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 12 martie 2008 09:35:22
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<stdio.h>
int main()
{
	int n,i;
	freopen("multimi2.in", "r",stdin);
	freopen("multimi2.out", "w",stdout);
	scanf("%d", &n);
	switch(n%4)
	{
		case 0: { printf("0\n");  printf("%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); break;}
		case 1: { printf("1\n");  printf("%d\n", n/2+1); printf("1 "); for(i=2;i<n-i+2;i+=2) printf("%d %d ", i,n-i+2);
			      printf("\n%d\n", n/2); for(i=3;i<n-i+2;i+=2) printf("%d %d ",i,n-i+2); break; }  
		case 2: { printf("1\n"); printf("%d\n", n/2); printf("1 "); for(i=3;i<n-i+3;i+=2) printf("%d %d ", i,n-i+3);
			      printf("\n%d\n", n/2); printf("2 "); for(i=4;i<n-i+3;i+=2) printf("%d %d ", i,n-i+3);	break; }
		case 3: { printf("0\n"); printf("%d\n", n/2+1); printf("1 2 "); for(i=4;i<n-i+4;i+=2) printf("%d %d ", i,n-i+4);   
			      printf("\n%d\n", n/2);	printf("3 ");  	for(i=5;i<n-i+4;i+=2) printf("%d %d ", i,n-i+4);   break; }				
	 }
	
	return 0;
}