Cod sursa(job #2391358)
Utilizator | Data | 28 martie 2019 19:42:37 | |
---|---|---|---|
Problema | Dame | Scor | 25 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.83 kb |
#include <fstream>
using namespace std;
ifstream in("dame.in");
ofstream out("dame.out");
int main()
{
int n;
in >> n;
if (n == 3)
{
out << 2 << '\n' << 1 << " " << 1 << '\n' << 2 << " " << 3;
return 0;
}
if (n <= 2)
{
out << 1 << '\n' << 1 << " " << 1;
return 0;
}
else
{
if (n % 2 == 1)
{
out << n << '\n';
int x = 1, y = 2, nr;
bool ok = 0;
for (int i = 1; i <= n; ++i)
{
if (y > n)
{
ok = 1;
y = 3;
nr = 0;
}
if (x <= n && y <= n)
out << x << " " << y << '\n';
++x;
if (ok)
{
++nr;
if (nr % 2 == 1)
y -= 2;
else
y += 6;
}
else
y += 2;
}
}
else
{
out << n << '\n';
int x = 1, y = 2, nr;
bool ok = 0;
for (int i = 1; i <= n; ++i)
{
if (y > n)
{
ok = 1;
y = 3;
nr = 0;
}
if (x <= n && y <= n)
out << x << " " << y << '\n';
++x;
if (ok)
{
++nr;
if (nr % 2 == 1)
y -= 2;
else
y += 6;
}
else
y += 2;
}
}
}
return 0;
}