Cod sursa(job #3125980)

Utilizator divadddDavid Curca divaddd Data 5 mai 2023 00:48:28
Problema Grozavesti Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 302;
int n,v[NMAX][NMAX];

ifstream fin("grozavesti.in");
ofstream fout("grozavesti.out");

void swaprow(int a, int b){
    for(int i = 1; i <= n; i++){
        swap(v[a][i], v[b][i]);
    }
}

void swapcol(int a, int b){
    for(int i = 1; i <= n; i++){
        swap(v[i][a], v[i][b]);
    }
}

int main()
{
    fin >> n;
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            fin >> v[i][j];
        }
    }
    vector<tuple<char, int, int>> sol;
    for(int i = 1; i <= n; i++){
        int pos = i;
        for(int j = i+1; j <= n; j++){
            if(v[pos][pos] > v[j][j]){
                pos = j;
            }
        }
        if(pos > i){
            sol.push_back({'L', i, pos});
            sol.push_back({'C', i, pos});
            swaprow(i, pos);
            swapcol(i, pos);
        }
    }
    fout << sol.size() << "\n";
    for(auto [ch, a, b]: sol){
        fout << ch << " " << a << " "<< b << "\n";
    }
    return 0;
}