Cod sursa(job #696712)

Utilizator 5t3fristea stefan 5t3f Data 28 februarie 2012 19:44:36
Problema Multimi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.82 kb
// multimi2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "fstream"
using namespace std;
int n;
int _tmain(int argc, _TCHAR* argv[])
{
	ifstream f;
	f.open("multimi2.in");
	ofstream g("multimi2.out");
	f>>n;
	/////////////////////////////////////////////rest 0



	if(n%4==0)
	{
		g<<0<<"\n";
		g<<n/2<<"\n";
		int tmp=n;
		int i=1;
		while(i<=n/2-1)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}
		g<<"\n";
		g<<n/2<<"\n";
		tmp=n-1;
		i=2;
		while(i<=n/2)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}	
	}


	////////////////////////////////////////////rest 0
	////////////////////////////////////////////rest 1


	if(n%4==1)
	{
		g<<1<<"\n";
		g<<n/2<<"\n";
		int tmp=n;
		int i=2;
		while(i<=n/2)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}
		g<<"\n";
		g<<(n/2)+1<<"\n";
		tmp=n-1;
		i=3;
		while(i<=n/2+1)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}
		g<<1;
	}
	////////////////////////////////////////////rest 1
	////////////////////////////////////////////rest 2


	if(n%4==2)
	{
		g<<1<<"\n";
		g<<n/2<<"\n";
		int i=1;
		int tmp=n;
		while(i<n/2)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}
		g<<n/2;
		i=2;
		tmp=n-1;
		g<<"\n"<<n/2<<"\n";
		while(i<n/2)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}
		g<<n/2+1;
	}
	//////////////////////////////////////////////////rest 2
	//////////////////////////////////////////////////rest 3
	if(n%4==3)
	{
		g<<0<<"\n";
		g<<n/2+1<<"\n";
		int i=2;
		int tmp=n;
		while(i<n/2+1)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}
		g<<n/2+1<<" "<<1;
		g<<"\n";
		g<<n/2<<"\n";
		i=3;
		tmp=n-1;
		while(i<=n/2)
		{
			g<<i<<" "<<tmp<<" ";
			i+=2;
			tmp-=2;
		}
		g<<n/2+2;
	}
	return 0;
}