Cod sursa(job #120068)

Utilizator stef2nStefan Istrate stef2n Data 4 ianuarie 2008 10:00:18
Problema Tije Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>

#define move(x, y) printf("%d %d\n", x, y)

int N;

void solve()
{
    int i, j, k, dif;
    for(i=1; i<=N-1; ++i)
        move(1, N+1);
    for(i=2; i<=N; ++i)
        move(i, 1);
    for(i=2, dif=0; i<=N; ++i, ++dif)
    {
        for(j=1; j<=N-i; ++j)
            move(i, i+j+1);
        for(j=0; j<dif+1; ++j)
            move(i+1, i);
        for(j=i+2; j<=N+1; ++j)
        {
            for(k=0; k<dif+1; ++k)
                move(j, j-1);
            move(j, i);
        }
        if(i+1!=N+1)
            for(k=0; k<dif+1; ++k)
                move(i+1, N+1);
    }
}


int main()
{
    freopen("tije.in", "r", stdin);
    freopen("tije.out", "w", stdout);
    scanf("%d", &N);
    solve();
    return 0;
}