Cod sursa(job #2406556)

Utilizator TudorP2006Popescu Tudor TudorP2006 Data 15 aprilie 2019 21:07:04
Problema Grozavesti Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.31 kb
#include <fstream>

using namespace std;
ifstream fin("grozavesti.in");
ofstream fout("grozavesti.out");
int v[300], sol[299];
int main()
{
    int n, a;
    fin >> n;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            fin >> a;
            if (i == j)
            {
                v[i] = a;
            }
        }
    }
    int minn, nrMutari = 0;
    for (int i = 0; i < n - 1; i++)
    {
        minn = v[i];
        int poz = i;
        for (int j = i + 1; j < n; j++)
        {
            if (v[j] < minn)
            {
                minn = v[j];
                poz = j;
            }
        }
        sol[i] = poz;
        if (i != poz)
        {
            nrMutari+= 2;
            int t = v[poz];
            v[poz] = v[i];
            v[i] = t;
        }
    }
    fout << nrMutari;
    if (nrMutari != 0)
    {
        fout << "\n";
    }
    int cnt = 0;
    for (int i = 0; i < n - 1; i++)
    {
        if (sol[i] != i)
        {
            cnt+= 2;
            fout << "L" << " " << i + 1 << " " << sol[i] + 1 << "\n";
            fout << "C" << " " << i + 1 << " " << sol[i] + 1;
            if (cnt != nrMutari)
            {
                fout << "\n";
            }
        }
    }
    return 0;
}