Cod sursa(job #789023)

Utilizator visanrVisan Radu visanr Data 16 septembrie 2012 16:22:06
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;


#define nmax 510
#define oo 0x3f3f3f3f

int mat[nmax][nmax], ans[nmax][2], crt, N, ll, cc, min;


int main()
{
    freopen("grozavesti.in", "r", stdin);
    freopen("grozavesti.out", "w", stdout);
    int i, j;
    scanf("%i", &N);
    for(i = 1; i <= N; i++)
          for(j = 1; j <= N; j++)
                scanf("%i", &mat[i][j]);
    for(i = 1; i <= N; i++)
    {
          min = oo;
          for(j = i; j <= N; j++)
                if(mat[j][j] < min)
                             min = mat[j][j], ll = cc = j;
          if(ll != i && cc != i)
          {
                mat[i][i] ^= mat[ll][cc] ^= mat[i][i] ^= mat[ll][cc];
                ans[++crt][0] = i, ans[crt][1] = ll;
          }
    }
    printf("%i\n", 2 * crt);
    for(i = 1; i <= crt; i++)
          printf("L %i %i\nC %i %i\n", ans[i][0], ans[i][1], ans[i][0], ans[i][1]);
    return 0;
}