Cod sursa(job #463363)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 15 iunie 2010 14:00:20
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream.h>
ifstream q("dame.in");
ofstream w("dame.out");
long i,nr,p,n,x,aux,v[10000];
int main()
{q>>n;
if(n==1||n>=4)
 {w<<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++)
    w<<i<<" "<<v[i]<<" "<<'\n';}
  else
   if(n==3)
    {w<<'2'<<'\n';
    w<<"2 1"<<'\n'<<"3 3"<<'\n';}
   else
    if(n==2)
     w<<1<<'\n'<<"1 1"<<'\n';
return 0;}