Cod sursa(job #935475)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 3 aprilie 2013 15:56:07
Problema Abc2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#define dim 1001

using namespace std;

ifstream fin ("dame.in"); ofstream fout ("dame.out");

int main()
{
	int a, n, i, k = 0, l, st[dim], aux;
	fin >> n;

	if(n == 1 || n == 2)
		fout << 1 <<"\n1 1";
	else if(n == 3)
		fout << 2 <<"\n1 1" <<"\n2 3";

	else
	{
	for(i = 2; i <= n; i += 2)
		st[++k] = i;

	if(n % 12 == 3 || n % 12 == 9)
	{
		for(l = 1; l < k; l++)
			st[l] = st[l + 1];
		st[k] = 2;
	}

	a = k + 1;

	for(i = 1; i <= n; i += 2)
		st[++k] = i;

	if(n % 12 == 3 || n % 12 == 9)
	{
		for(i = a; i < k - 1; i++)
			st[i] = st[i + 2];
		st[k - 1] = 1;
		st[k] = 3;
	}

	else if(n % 12 == 2)
	{
		st[a] = 3;
		st[a + 1] = 1;
		for(i = a + 2; i < k; i++)
			st[i] = st[i + 1];
		st[k] = 5;
	}
	else if(n % 12 == 8)
		for(i = a; i <= k; i += 2)
		{
			aux = st[i];
			st[i] = st[i + 1];
			st[i + 1] = aux;
		}
	fout << n << endl;
	for(i = 1; i <= n; i++)
	{
		fout << i << " " << st[i] << endl;
	}
	}
	return 0;
}