Cod sursa(job #1201604)

Utilizator xtreme77Patrick Sava xtreme77 Data 25 iunie 2014 15:17:03
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <cstdio>
#include <algorithm>
#include <vector>

#define rint register int
#define pb push_back
#define mp make_pair
const char IN[ ]  = "grozavesti.in";
const char OUT[ ] = "grozavesti.out";
const int MAX = 314;

using namespace std;

typedef pair< int, int > P;
vector <P> sch;
int mat[MAX][MAX],diag[MAX];
int main()
{
    int n;
    freopen( IN, "r" , stdin );
    freopen( OUT, "w" , stdout );
    scanf("%d",&n);
    for ( rint i=1 ;i <= n; ++i ){
        for ( rint j =1 ; j<= n; ++j )
            scanf("%d",&mat[i][j]);
        diag[i]=mat[i][i];
    }
    for(rint i=1;i<n;++i){
        int minim=i;
        for(rint j=i+1;j<=n;++j)
            if(diag[j]<diag[minim]){
                minim=j;
            }
        if(minim!=i){
            sch.pb(mp(i,minim));
            swap(diag[i],diag[minim]);
        }
    }
    printf("%d\n",2*sch.size());
    for(rint i=0;i<(int)sch.size();++i)printf("C %d %d\nL %d %d\n",sch[i].first,sch[i].second,sch[i].first,sch[i].second);
    return 0;
}