Pagini recente » Cod sursa (job #844932) | Cod sursa (job #2053826) | Cod sursa (job #981083) | Cod sursa (job #444440) | Cod sursa (job #961548)
Cod sursa(job #961548)
#include <fstream>
using namespace std;
long N;
long P[1000],I[1000];
int main(void)
{
fstream fin("dame.in",ios::in);
fstream fout("dame.out",ios::out);
fin >> N;
if (N == 1)
{
fout << "1\n1 1\n";
}
if (N == 2)
{
fout << "1\n1 1\n";
}
if (N == 3)
{
fout << "2\n1 1\n2 3\n";
}
if (N >= 4)
{
for (long a = 0;a < (N >> 1);a += 1)
{
P[a] = ((a + 1) * 2);
I[a] = ((a + 1) * 2) - 1;
}
if (N & 1)
{
I[N >> 1] = (((N >> 1) + 1) * 2) - 1;
}
if ((N % 6) == 2)
{
I[0] = 3;
I[1] = 1;
long a = 2;
while (a < (N >> 1))
{
I[a] = I[a + 1];
a += 1;
}
I[(N >> 1) - 1] = 5;
}
if ((N % 6) == 3)
{
long a = 0;
while (a < (N >> 1))
{
P[a] = P[a + 1];
a += 1;
}
P[(N >> 1) - 1] = 2;
a = 0;
while (a < (N >> 1))
{
I[a] = I[a + 2];
a += 1;
}
I[(N >> 1) - 1] = 1;
I[(N >> 1) - 0] = 3;
}
fout << N << "\n";
long c = 1;
long a = 0;
while (P[a] > 0)
{
fout << c << " " << P[a] << "\n";
a += 1;
c += 1;
}
a = 0;
while (I[a] > 0)
{
fout << c << " " << I[a] << "\n";
a += 1;
c += 1;
}
}
fin.close();
fout.close();
return 0;
}