Pagini recente » Cod sursa (job #1551505) | Cod sursa (job #3245486) | Cod sursa (job #1281095) | Cod sursa (job #1558996) | Cod sursa (job #2770785)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dame.in");
ofstream fout("dame.out");
const int NMAX(1005);
int main()
{
int n;
fin >> n;
if (n <= 2)
{
fout << 1 << '\n' << 1 << " " << 1;
return 0;
}
if (n == 3)
{
fout << 2 << '\n' << 1 << " " << 1 << '\n' << 2 << " " << 3;
return 0;
}
vector<int> vec;
vec.push_back(0);
if(n % 12 == 3 || n % 12 == 9)
{
for(int i = 4; i <= n; i += 2)
vec.push_back(i);
vec.push_back(2);
}
else
{
for(int i = 2; i <= n; i += 2)
vec.push_back(i);
}
int aux = vec.size();
for(int i = 1; i <= n; i += 2)
vec.push_back(i);
if(n % 12 == 8){
for(int i = aux; i <= n; i += 2)
swap(vec[i], vec[i + 1]);
}
if(n % 12 == 2){
swap(vec[aux], vec[aux + 1]);
for(int i = aux + 2; i < n; ++i)
vec[i] = vec[i + 1];
vec[n] = 5;
}
if(n % 12 == 3 || n % 12 == 9){
for(int i = aux; i < n - 1; ++i)
vec[i] = vec[i + 2];
vec[n - 1] = 1;
vec[n] = 3;
}
fout << n << '\n';
for(int i = 1; i <= n; ++i)
fout << i << ' ' << vec[i] << '\n';
return 0;
}