Cod sursa(job #122649)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 13 ianuarie 2008 13:08:19
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <stdio.h>
#include <stdlib.h>

long n,i,j,a[303][303],ind[303],sol;
long q,x[603],y[603];

int cmp(const void * n1, const void * n2){
    return a[(*(long*)n1)][(*(long*)n1)]-a[(*(long*)n2)][(*(long*)n2)];
}

int main(){
    freopen("grozavesti.in","r",stdin);
    freopen("grozavesti.out","w",stdout);
    
    scanf("%ld",&n);
    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
            scanf("%ld",&a[i][j]);
      
    for (i=1;i<=n;i++)
        ind[i]=i;
    qsort(ind,n+1,sizeof(long),cmp);
    
    for (i=1;i<=n;i++)
        if (ind[i]!=i){
           q++;x[q]=i;y[q]=ind[i];
           j=ind[ind[i]];
           ind[ind[i]]=ind[i];
           ind[i]=j;
           sol+=2;
           
        }
    printf("%ld\n",sol);
    for (i=q;i>0;i--){
        printf("C %ld %ld\n",x[i],y[i]);
        printf("L %ld %ld\n",x[i],y[i]);
    }
    
return 0;
}