Pagini recente » Profil denys_vl | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1520393) | Cod sursa (job #1513748)
#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;
}