Pagini recente » Cod sursa (job #1673539) | Cod sursa (job #999612) | Cod sursa (job #2283906) | Cod sursa (job #1053936) | Cod sursa (job #994880)
Cod sursa(job #994880)
#include<iostream>
#include<list>
#include<stdio.h>
using namespace std;
int main()
{
freopen("dame.in","r",stdin);
freopen("dame.out","w",stdout);
list<int> dame1,dame2;
int n,i,x,a,b,c,len;
cin >> n;
if(n<4)
{
if(n==1)
{
cout << n <<endl;
cout <<"1 1";
}
else if (n==2)
{
cout << n-1<<endl;
cout <<"1 1";
}
else
{
cout << n-1<<endl;
cout <<"1 1"<<endl;
cout <<"2 3";
}
}
else
{
for(i=2;i<=n;i+=2)
{
dame1.push_back(i);
}
if(n%12==3 || n%12==9)
{
x=dame1.front();
dame1.pop_front();
dame1.push_back(x);
}
for(i=1;i<=n;i+=2)
{
dame2.push_back(i);
}
x=n%12;
if(x==8)
{
for(i=1;i<=n;i+=4)
{
a=dame2.front();
dame2.pop_front();
b=dame2.front();
dame2.pop_front();
dame2.push_back(b);
dame2.push_back(a);
}
}
else if(x==2)
{
a=dame2.front();
dame2.pop_front();
b=dame2.front();
dame2.pop_front();
c=dame2.front();
dame2.pop_front();
dame2.push_back(c);
dame2.push_front(a);
dame2.push_front(b);
}
else if(x==3 || x==9)
{
a=dame2.front();
dame2.pop_front();
b=dame2.front();
dame2.pop_front();
dame2.push_back(a);
dame2.push_back(b);
}
cout << n<<endl;
len=dame1.size();
for(i=1;i<=len;i++)
{
cout << i << " " << dame1.front()<<endl;
dame1.pop_front();
}
x=i;
len=dame2.size();
for(i=0;i<len;i++)
{
cout << i+x << " " << dame2.front()<<endl;
dame2.pop_front();
}
}
return 0;
}