Cod sursa(job #253162)

Utilizator mihaipoascaPoasca Mihai mihaipoasca Data 5 februarie 2009 15:07:05
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<stdio.h>

FILE *fin=fopen("grozavesti.in","r"),
    *fout=fopen("grozavesti.out","w");

int N,A[303],m[606][2];

void swap(int a,int b){
    int aux;
    aux=A[a];A[a]=A[b];A[b]=aux;
}

int main(){
    fscanf(fin,"%d",&N);
    for(int i=1;i<=N;i++)
        for(int j=1;j<=N;j++){
            int aux;
            fscanf(fin,"%d",&aux);
            if(i==j)
                A[i]=aux;

        }

    int Nr=0;
    for(int i=1;i<N;i++){
        int min=i;
        for(int j=i+1;j<=N;j++)
            if(A[j]<A[min])
                min=j;
        if(min!=i){
            swap(i,min);
            m[++Nr][0]=i;
            m[Nr][1]=min;
        }
    }

    fprintf(fout,"%d\n",Nr);
    for(int i=1;i<=Nr;i++)
        fprintf(fout,"C %d %d\nL %d %d\n",m[i][0],m[i][1],m[i][0],m[i][1]);
    fclose(fin);
    fclose(fout);
    return 0;
}