Cod sursa(job #1487615)

Utilizator SmitOanea Smit Andrei Smit Data 17 septembrie 2015 09:49:43
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <fstream>

using namespace std;

struct elem{
    int e1,e2;
};

int n,a[303][303],x,ind;
elem t[610];

inline void Citire()
{
    int i,j;
    ifstream fin("grozavesti.in");
    for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
            fin>>a[i][j];
    fin.close();
}

inline void L_sch(int l1,int l2)
{
    int i,aux;
    for(i=1;i<=n;++i)
    {
        aux=a[l1][i];
        a[l1][i]=a[l2][i];
        a[l2][i]=aux;
    }
}

inline void C_sch(int c1,int c2)
{
    int i,aux;
    for(i=1;i<=n;++i)
    {
        aux=a[i][c1];
        a[i][c1]=a[i][c2];
        a[i][c2]=aux;
    }
}

inline void Solutie()
{
    int i,j,x,minim;
    for(i=1;i<n;++i)
    {
        x=i;
        for(j=i+1;j<=n;++j)
            if(a[j][j]<a[x][x])
                x=j;
        if(i!=x)
        {
            L_sch(i,x);
            C_sch(i,x);
            t[++ind].e1=i;
            t[ind].e2=x;
        }

    }
}

inline void Afisare()
{
    int i;
    ofstream fout("grozavesti.out");
    fout<<ind<<"\n";
    for(i=1;i<=ind;++i)
        fout<<"L "<<t[i].e1<<" "<<t[i].e2<<"\n"<<"C "<<t[i].e1<<" "<<t[i].e2<<"\n";
    fout.close();
}

int main()
{
    Citire();
    Solutie();
    Afisare();
    return 0;
}