Cod sursa(job #1718165)

Utilizator cristina_borzaCristina Borza cristina_borza Data 16 iunie 2016 21:23:50
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <algorithm>
#include <fstream>
#include <vector>
#include <set>

using namespace std;

ifstream f("grozavesti.in");
ofstream g("grozavesti.out");

int x , n;

vector <pair <int , int> > v1 , v2 , ans;

int main() {
    f >> n;
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= n; ++j) {
            f >> x;
            if (i == j) {
                v1.push_back(make_pair(x , i - 1));
                v2.push_back(make_pair(x , i - 1));
            }
        }
    }

    sort (v2.begin() , v2.end());
    int nr = v1.size();

    for (int i = 0; i < nr; ++i) {
        if (v1[i].first != v2[i].first) {
            ans.push_back(make_pair(i + 1 , v2[i].second + 1));
            swap(v1[v1[i].second] , v1[v2[i].second]);
        }
    }

    nr = ans.size();
    g << 2 * nr << '\n';

    for (int i = 0; i < nr; ++i) {
        g << "C " << ans[i].first << " " << ans[i].second << '\n' << "L " << ans[i].first << " " << ans[i].second << '\n';
    }
    return 0;
}