Pagini recente » Cod sursa (job #2590228) | Cod sursa (job #2265382) | Cod sursa (job #2628190) | Cod sursa (job #300520) | Cod sursa (job #1050073)
#include <fstream>
using namespace std;
ifstream fin("dame.in");
ofstream fout("dame.out");
const int nmax= 1000;
int v[nmax+1];
int main( ) {
int n;
fin>>n;
if ( n<=2 ) {
fout<<"1\n1 1\n";
} else if ( n==3 ) {
fout<<"2\n1 1\n3 2\n";
} else {
fout<<n<<"\n";
int k= 0;
for ( int i= 2; i<=n; i+= 2 ) {
v[++k]= i;
}
if ( n%6==3 ) {
for ( int i= 1; i<k; ++i ) {
v[i]= v[i+1];
}
v[k]= 2;
}
for ( int i= 1; i<=k; ++i ) {
fout<<i<<" "<<v[i]<<"\n";
}
k= 0;
for ( int i= 1; i<=n; i+= 2 ) {
v[++k]= i;
}
if ( n%12==8 ) {
for ( int i= 2; i<=n; i+= 2 ) {
int aux= v[i-1];
v[i-1]= v[i];
v[i]= aux;
}
}
if ( n%12== 2 ) {
int aux= v[1];
v[1]= v[2];
v[2]= aux;
for ( int i= 3; i<k; ++i ) {
v[i]= v[i+1];
}
v[k]= 5;
}
if ( n%6==3 ) {
for ( int i= 1; i<=k-2; ++i ) {
v[i]= v[i+2];
}
v[k-1]= 1;
v[k]= 3;
}
for ( int i= 1; i<=k; ++i ) {
fout<<n/2+i<<" "<<v[i]<<"\n";
}
}
return 0;
}