Pagini recente » Cod sursa (job #1992526) | Cod sursa (job #2453723) | Cod sursa (job #1982477) | Cod sursa (job #76096) | Cod sursa (job #800443)
Cod sursa(job #800443)
#include<fstream>
using namespace std;
#define NMAX 1002
int l[NMAX],a;
int main ()
{
int n,i,nr;
ifstream f("dame.in");
ofstream g("dame.out");
f>>n;
f.close();
if(n==1 || n==2) {
g<<"1"<<'\n'<<"1 1";
g.close();
return 0;
}
else if(n==3) {
g<<"2"<<'\n'<<"1 1\n"<<"3 2";
g.close();
return 0;
}
nr=0;
for(i=2;i<=n;i=i+2)
l[++nr]=i;
if(n%12==3 || n%12==9) {
for(i=1;i<=nr-1;i++)
l[i]=l[i+1];
l[nr]=2;
}
g<<n<<'\n';
for(i=1;i<=nr;i++)
g<<i<<" "<<l[i]<<'\n';
nr=0;
for(i=1;i<=n;i=i+2)
l[++nr]=i;
if(n%12==8)
for(i=2;i<=n;i=i+2)
swap(l[i-1],l[i]);
if(n%12==2) {
swap(l[1],l[2]);
for(i=3;i<=nr-1;i++)
l[i]=l[i+1];
l[nr]=5;
}
if(n%12==3 || n%12==9) {
for(i=1;i<=nr-2;i++)
l[i]=l[i+2];
l[nr-1]=1;
l[nr]=3;
}
for(i=1;i<=nr;i++)
g<<n/2+i<<" "<<l[i]<<'\n';
g.close();
return 0;
}