Cod sursa(job #839141)

Utilizator stoicatheoFlirk Navok stoicatheo Data 21 decembrie 2012 13:41:44
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include<fstream>
 using namespace std;
 ifstream f("dame.in");
 ofstream g("dame.out");
 int n,i,c[1010],z,k=0;
 
 void swap(int a,int b)
 {
     int e;
     e=a;
     a=b;
     b=a;
 
 }
int main()
    {f>>n;
       if(n == 2)
       {g<<"1"<<'\n'<<"1"<<" "<<"1"; k=1;}
       if(n == 3)
       {g<<"2"<<'\n'<<"1"<<" "<<"1"<<'\n'<<"2"<<" "<<"3"; k=1;}
 
     z=n%6;
 
        for(i=2; i<=n; i+=2) c[i/2]=i;
 
        for(i=1; i<=n; i+=2) c[n/2+i/2+1]=i;
    if(k==0){
         if(z == 3 || z == 9)
        {
            for(i=1; i<=n/2; ++i)
                c[i]=c[i+1];
            c[n/2]=2;
            for(i=n/2+1; i<n-1; ++i)
                c[i]=c[i+2];
            c[n-1]=1;
            c[n]=3;
        }
 
        else if(z == 2)
        {
            c[n/2+1]=3;
            c[n/2+2]=1;
            for(i=n/2+3; i<n; i++)
                c[i]=c[i+1];
            c[n]=5;
        }
 
         else if(z == 8)
         {
            for(i=1; i<=n; i++)
                swap(c[i],c[i+1]);
         }
 
    g<<n<<'\n';
    for(i=1; i<=n; i++) {g<<i<<" "<<c[i];
                      g<<'\n';}
 
    }
 
 
        return 0;
    }