Pagini recente » Cod sursa (job #745951) | Cod sursa (job #2445863) | Cod sursa (job #2541552) | Cod sursa (job #555509) | Cod sursa (job #954977)
Cod sursa(job #954977)
#include<fstream>
using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
int n,l[1100],i,po,t;
void t1()
{
g<<"1\n1 1";
}
void t2()
{
g<<"1\n1 1";
}
void t3()
{
g<<"2\n1 1\n2 3";
}
void t4()
{
g<<"4\n1 2\n2 4\n3 1\n4 3";
}
int main ()
{
f>>n;
if(n<=4)
switch(n)
{
case 1: t1(); break;
case 2: t2(); break;
case 3: t3(); break;
case 4: t4(); break;
}
if(n<=4)
return 0;
if(n%12==3||n%12==9)
{
for(i=4;i<=n;i+=2)
l[++t]=i;
l[++t]=2;
}
else
for(i=2;i<=n;i+=2)
l[++t]=i;
if(n%12==3||n%12==9)
{
for(i=5;i<=n;i+=2)
l[++t]=i;
l[++t]=1; l[++t]=3;
}
if(n%12==2)
{
l[++t]=3; l[++t]=1;
for(i=7;i<=n;i+=2)
l[++t]=i;
l[++t]=5;
}
if(n%12==8)
{
for(i=3;i<=n;i+=4)
{
l[++t]=i;
l[++t]=i-2;
}
}
if(t!=n)
for(i=1;i<=n;i+=2)
l[++t]=i;
g<<n<<"\n";
for(i=1;i<=n;++i)
g<<i<<" "<<l[i]<<"\n";
return 0;
}