Cod sursa(job #1175038)

Utilizator octav1234Pocola Tudor Octavian octav1234 Data 24 aprilie 2014 12:58:54
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *fi,*fo;
int n,i,j;
int x;
int rez;
struct chestie
{
    int val;
    int nr;
};
chestie A[305];

bool f1(chestie A,chestie B)
{
    if(A.val<B.val)
        return true;
    if(A.val==B.val)
        if(A.nr<B.nr)
            return true;
    return false;
}

int main()
{
    fi=fopen("grozavesti.in","r");
    fo=fopen("grozavesti.out","w");
    fscanf(fi,"%d",&n);
    for(i=1;i<=n;i++)
        A[i].nr=i;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        {
            fscanf(fi,"%d",&x);
            if(i==j)
                A[i].val=x;
        }
    sort(A+1,A+n+1,f1);
    for(i=n;i>=1;i--)
        if(A[i].nr!=i)
            rez++;
    fprintf(fo,"%d\n",rez*2);
    for(i=n;i>=1;i--)
        if(A[i].nr!=i)
        {
            rez++;
            fprintf(fo,"C %d %d\n",i,A[i].nr);
            fprintf(fo,"L %d %d\n",i,A[i].nr);
        }
    return 0;
}