Cod sursa(job #311709)

Utilizator ViksenVictor-Nicolae Savu Viksen Data 3 mai 2009 23:47:33
Problema Dame Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.41 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main() {
    ifstream fin("dame.in");
    ofstream fout("dame.out");

    int n;

    fin>>n;
    fin.close();

    vector<int> V;

    if(n==1 || n==2)
        fout<<"1\n1 1\n";
    else {

        if(n%12 == 3 || n%12 ==9) {
            for(int i=4; i<=n; i+=2)
                V.push_back(i);
            V.push_back(2);
            for(int i=5; i<=n; i+=2)
                V.push_back(i);
            V.push_back(1);
            V.push_back(3);
        }
        else
        {
            for(int i=2; i<=n; i+=2)
                V.push_back(i);
            switch(n%12) {
                case 2:
                    V.push_back(3);
                    V.push_back(1);
                    for(int i=7; i<=n; i+=2)
                        V.push_back(i);
                    V.push_back(5);
                    break;
                case 8:
                    for(int i=0; i<n/2; i++) {
                        V.push_back(i*4+3);
                        V.push_back(i*4+1);
                    }
                    break;
                default:
                    for(int i=1; i<=n; i+=2)
                        V.push_back(i);
            }
        }


        fout<<n<<'\n';
        for(int i=0; i<n; i++)
            fout<<i+1<<' '<<V[i]<<'\n';
    }
    fout.close();
    return 0;
}