Pagini recente » Cod sursa (job #611794) | Cod sursa (job #2508362) | Cod sursa (job #453993) | Cod sursa (job #2808662) | Cod sursa (job #311709)
Cod sursa(job #311709)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream fin("dame.in");
ofstream fout("dame.out");
int n;
fin>>n;
fin.close();
vector<int> V;
if(n==1 || n==2)
fout<<"1\n1 1\n";
else {
if(n%12 == 3 || n%12 ==9) {
for(int i=4; i<=n; i+=2)
V.push_back(i);
V.push_back(2);
for(int i=5; i<=n; i+=2)
V.push_back(i);
V.push_back(1);
V.push_back(3);
}
else
{
for(int i=2; i<=n; i+=2)
V.push_back(i);
switch(n%12) {
case 2:
V.push_back(3);
V.push_back(1);
for(int i=7; i<=n; i+=2)
V.push_back(i);
V.push_back(5);
break;
case 8:
for(int i=0; i<n/2; i++) {
V.push_back(i*4+3);
V.push_back(i*4+1);
}
break;
default:
for(int i=1; i<=n; i+=2)
V.push_back(i);
}
}
fout<<n<<'\n';
for(int i=0; i<n; i++)
fout<<i+1<<' '<<V[i]<<'\n';
}
fout.close();
return 0;
}