Cod sursa(job #115696)

Utilizator filipbFilip Cristian Buruiana filipb Data 16 decembrie 2007 20:35:17
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <stdio.h>
#include <algorithm>

#define NMax 305

int N, D[NMax], P[NMax * NMax][2], cnt = 0;

int swap(int &a, int &b)
{
    int aux = a;
    a = b;
    b = aux;
}

int main(void)
{
    int i, j, x, min;
    
    freopen("grozavesti.in", "r", stdin);
    freopen("grozavesti.out", "w", stdout);

    scanf("%d", &N);
    for (i = 1; i <= N; i++)
        for (j = 1; j <= N; j++)
        {
            scanf("%d", &x);
            if (i == j)
                D[i] = x;
        }

    for (i = 1; i <= N; i++)
    {
        for (j = i+1, min = i; j <= N; j++)
            if (D[min] > D[j])
                min = j;
        if (i != min)
        {
            cnt++;
            swap(D[i], D[min]);
            P[cnt][0] = i; P[cnt][1] = min;            
        }
    }

    printf("%d\n", cnt);
    for (i = 1; i <= cnt; i++)
    {
        printf("L %d %d\n", P[i][0], P[i][1]);
        printf("C %d %d\n", P[i][0], P[i][1]);
    }
    
    return 0;
}