Cod sursa(job #205516)

Utilizator andyciupCiupan Andrei andyciup Data 1 septembrie 2008 15:50:15
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.44 kb
#include<stdio.h>

int main(){
	freopen("multimi2.in", "r", stdin);
	freopen("multimi2.out", "w", stdout);
	int n;
	scanf("%d", &n);
	
	if (n%4==0){
		printf("%d\n", 0);
		printf("%d\n", n/2);
		for(int i=1; i<=(n/4); ++i)
			printf("%d ", i);
		for (int i=n; i> 3*(n/4)+1; --i)
			printf("%d ", i);
		printf("%d\n", 3*(n/4)+1);
		printf("%d\n", n/2);
		for(int i=n/4+1; i<= 3*(n/4); ++i)
			printf("%d ",i); 
	}
	
	if (n%4==1){
		printf("%d\n", 1);
		printf("%d\n", n/2);
		for(int i=2; i<=(n/4) +1; ++i)
			printf("%d ", i);
		for (int i=n; i>=3*(n/4)+3; --i)
			printf("%d ", i);
		printf("%d\n",3*(n/4)+2);
		
		printf("%d\n", n/2 +1);
		printf("%d ", 1);
		for(int i=n/4+2; i<= 3*(n/4)+1; ++i)
			printf("%d ",i); 
			
	}
	
	if (n%4==2){
		printf("%d\n", 1);
		printf("%d\n", n/2+1);
		for(int i=1; i<=(n/4)+1; ++i)
			printf("%d ", i);
		for (int i=n-2; i>3*(n/4); --i)
			printf("%d ", i);
		printf("%d\n", 3*(n/4));
		printf("%d\n", n/2-1);
		for(int i=n/4+2; i<3*(n/4); ++i)
			printf("%d ",i); 
		printf("%d ", n-1);
		printf("%d ", n);
	}
		
	if (n%4==3){
		printf("%d\n", 0);
		printf("%d\n", n/2+1);
		for(int i=1; i<=(n/4)+1; ++i)
			printf("%d ", i);
		for (int i=n-1; i> 3*(n/4)+2; --i)
			printf("%d ", i);
		printf("%d\n", 3*(n/4)+2);
		printf("%d\n", n/2);
		for(int i=n/4+2; i<= 3*(n/4)+1; ++i)
			printf("%d ",i); 
		printf("%d ", n);
	}
		
		
		
		
		
		
		
		
		
		
	return 0;}