Cod sursa(job #1175060)

Utilizator octav1234Pocola Tudor Octavian octav1234 Data 24 aprilie 2014 13:33:00
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *fi,*fo;
int n,i,j;
int x;
int rez;
int A[305];
int B[305];
int k,mx;
int ind;
int aux;
int main()
{
    fi=fopen("grozavesti.in","r");
    fo=fopen("grozavesti.out","w");
    fscanf(fi,"%d",&n);
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        {
            fscanf(fi,"%d",&x);
            if(i==j)
                B[i]=A[i]=x;
        }
    for(k=0;k<n;k++)
    {
        mx=0;
        for(i=1;i<=n-k;i++)
            if(mx<B[i])
            {
                mx=B[i];
                ind=i;
            }
        aux=B[ind];
        B[ind]=B[n-k];
        B[n-k]=aux;
        if(ind!=n-k)
            rez++;
    }
    fprintf(fo,"%d\n",2*rez);
    for(k=0;k<n;k++)
    {
        mx=0;
        for(i=1;i<=n-k;i++)
            if(mx<A[i])
            {
                mx=A[i];
                ind=i;
            }
        aux=A[ind];
        A[ind]=A[n-k];
        A[n-k]=aux;
        if(ind!=n-k)
        {
            fprintf(fo,"L %d %d\n",ind,n-k);
            fprintf(fo,"C %d %d\n",ind,n-k);
        }
    }
    return 0;
}