Cod sursa(job #461241)

Utilizator SpiderManSimoiu Robert SpiderMan Data 5 iunie 2010 23:37:32
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <algorithm>
using namespace std;

const char FIN[] = "grozavesti.in", FOU[] = "grozavesti.out";
const int MAX_N = 305;

struct sol
{
    int i, j;
};


int N;
int A[MAX_N][MAX_N];
sol rez[MAX_N];

int main()
{
    freopen(FIN, "r", stdin);
    freopen(FOU, "w", stdout);

    scanf("%d", &N);

    for (int i = 1; i <= N; ++i)
        for (int j = 1; j <= N; ++j)
            scanf("%d", &A[i][j]);

    int K = 0;

    for (int i = 1; i <= N; ++i)
    {
        int verf = i;

        for (int j = i + 1 ; j <= N; ++j)
            if ( A[j][j] < A[verf][verf] ) verf = j;

        if ( verf != i )
        {
            rez[++K].i = i, rez[K].j = verf;
            swap ( A[verf][verf] , A[i][i] );
        }
    }

    printf("%d\n", K << 1);

    for (int i = 1; i <= K; ++i)
        printf("L %d %d\nC %d %d\n", rez[i].i, rez[i].j, rez[i].i, rez[i].j);

    return 0;
}