Cod sursa(job #117123)

Utilizator filipbFilip Cristian Buruiana filipb Data 20 decembrie 2007 19:25:09
Problema Tije Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>

int N;

void muta(int x, int y)
{ printf("%d %d\n", x, y); }

int main(void)
{
    int i, j, k, x, y, part = 0;
    
    freopen("tije.in", "r", stdin);
    freopen("tije.out", "w", stdout);

    scanf("%d", &N);

    for (i = 1; i < N; i++)
        muta(1, N+1);
    for (i = 2; i <= N; i++)
        muta(i, 1);
    for (i = 2; i <= N; i++)
        muta(N+1, i);

    x = 2; y = N; part = N+1;

    for (i = 1; i < N-1; i++)
    {
        for (k = 1; k <= i+1; k++)
            muta(x, part);
            
        for (j = x+1; j <= y; j++)
        {
            for (k = 1; k <= i; k++)
                muta(j, j-1);
            muta(j, part);
        }
        
        for (k = 1; k < N-i; k++)
            muta(y, x+k-1);
        y--; part--;
    }

    if (part != N+1)
        for (i = 1; i <= N; i++)
            muta(N+1, part);
    
    return 0;
}