Cod sursa(job #49095)

Utilizator rurutzairimia ruxandra maria rurutza Data 5 aprilie 2007 12:33:20
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream.h>
ifstream f("dame.in");
ofstream g("dame.out");
long i,nr,p,n,x,aux,v[10000];
int main()
{
f>>n;
if(n==1||n>=4)
{
g<<n<<'\n';
nr=1;
x=2;
do
{
v[nr]=x;
nr++;
x=x+2;
}
while(x<=n);
if(n%12==3||n%12==9)
{
for(i=1;i<nr;i++)
v[i]=v[i+1];
v[nr-1]=2;
}
x=1;
p=0;
do
{
v[nr+p]=x;
p++;
x=x+2;
}
while(x<=n);

if(n%12==8)
for(i=nr;i<=nr+p-1;i=i+2)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
}
else
if(n%12==2)
{
v[nr]=3;
v[nr+1]=1;
for(i=nr+2;i<=nr+p-1;i++)
v[i]=v[i+1];
v[nr+p-1]=5;
}
else
if(n%12==3||n%12==9)
{
for(i=nr;i<=nr+p-1;i++)
v[i]=v[i+2];
v[nr+p-2]=1;
v[nr+p-1]=3;
}
for(i=1;i<=nr+p-1;i++)
g<<i<<" "<<v[i]<<" "<<'\n';}
else
if(n==3)
{g<<'2'<<'\n';
g<<"2 1"<<'\n'<<"3 3"<<'\n';
}
else
if(n==2)
g<<1<<'\n'<<"1 1"<<'\n';
f.close();
g.close();
return 0;
}