Cod sursa(job #1702723)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 15 mai 2016 14:56:09
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("grozavesti.in");
ofstream out("grozavesti.out");
const int maxn = 305;
int v[maxn];
int lin[maxn];
int col[maxn];
string s;
int n, poz;
inline void citire()
{
    for(int i = 1; i <= n; i++)
    {
        cerr << i << "\n";
        for(int j = 1; j < i; j++)
        {
            in >> s;
            cerr << s << " ";
            s = "";
        }
        s = "";
        in >> s;
        cerr << s << " ";
        int p = s.size();
        int nr = 0;
        for(int j = 0; j < p; j++)
            nr = nr * 10 + (s[j] - '0');
        v[++poz] = nr;
        for(int j = n - i - 1; j <= n; j++)
        {
            in >> s;
            cerr << s << " ";
            s = "";
        }
        cerr << "\n";
    }
}

int main()
{
    in >> n;
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= n; j++)
        {
            int x;
            in >> x;
            if(i == j)
                v[i] = x;
        }
    }
    //for(int i = 1; i <= n; i++)
    //    cerr << v[i] << " ";
    int p = 0;
    for(int i = n; i > 1; i--)
    {
        int mx = v[1];
        poz = 1;
        for(int j = 2; j <= i; j++)
        {
            if(mx < v[j])
            {
                mx = v[j];
                poz = j;
            }
        }
        if(poz != i)
        {
            swap(v[poz], v[i]);
            p++;
            lin[p] = i;
            col[p] = poz;
        }
    }
    out << p * 2 << "\n";
    for(int i = 1; i <= p; i++)
    {
        out << "C " << lin[i] << " " << col[i] << "\n";
        out << "L " << lin[i] << " " << col[i] << "\n";
    }
    return 0;
}