Cod sursa(job #1174955)

Utilizator usermeBogdan Cretu userme Data 24 aprilie 2014 11:34:58
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>

FILE*f=fopen("grozavesti.in","r");
FILE*h=fopen("grozavesti.out","w");

int v[301],n,l[301],c[301],e;

int main(){
    fscanf(f,"%d",&n);
    for ( int i=1;i<=n;++i )
        for ( int j=1;j<=n;++j ){
            int a;
            fscanf(f,"%d",&a);
            if ( i==j )
                v[i]=a;
        }
    for ( int i=1;i<=n;++i ){
        int mi=v[i],p=i;
        for ( int j=i+1;j<=n;++j ){
            if ( v[j]==mi&&p!=i ){
                mi=v[j];
                p=j;
            }
            if ( v[j]<mi ){
                mi=v[j];
                p=j;
            }
        }
        if ( p!=i ){
            int aux=v[i];
            v[i]=mi;
            v[p]=aux;
            l[i]=i;
            c[i]=p;
            ++e;
        }
    }
    fprintf(h,"%d\n",2*e);
    for ( int i=1;i<=e;++i ){
        fprintf(h,"L %d %d\n",l[i],c[i]);
        fprintf(h,"C %d %d\n",l[i],c[i]);
    }
    return 0;
}