Cod sursa(job #800345)

Utilizator gigi1996gicamarin gigi1996 Data 21 octombrie 2012 13:40:02
Problema Dame Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.31 kb
//* Se insereaza numerele pare de la 2 la N intr-o lista
    //* Daca restul lui N la 12 este 3 sau 9 se muta 2 la sfarsitul listei
    //* Se insereaza numerele impare de la 1 la N in lista
    //* Daca restul este 8 se interschimba perechile (3 1, 7 5, ...)
   // * Daca restul este 2 se interschimba 1 cu 3 si 5 se muta la sfarsitul listei
 //   * Daca restul este 3 sau 9 se muta 1 si 3 la sfarsitul listei





#include<fstream>
 using namespace std;
 ifstream f("dame.in");
 ofstream g("dame.out");
 int n,i,j,a[101],b[101],c[202],k1,k2;

 void swap(int a,int b)
 {
     int e;
     e=a;
     a=b;
     b=a;

 }

 void scrie()
 {
    g<<n<<'\n';
for(i=1; i<=n; i++) g<<i<<" "<<c[i]<<'\n';
 }
 int main()
    {f>>n; k1=1; k2=1;

        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(n == 2)
        g<<"1"<<'\n'<<"1"<<" "<<"1";
        if(n == 3)
        g<<"2"<<'\n'<<"1"<<" "<<"1"<<'\n'<<"2"<<" "<<"3";

        if(n%12 == 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;
        }
         if(n%12 == 8)
         {
            for(i=1; i<=n; i++) swap(c[i],c[i+1]);
         }
        //if(n%12 == 3 || n%12 == 9)


scrie();

        return 0;
    }