Pagini recente » Cod sursa (job #1241100) | Cod sursa (job #2692886) | Cod sursa (job #747333) | Cod sursa (job #560155) | Cod sursa (job #3248236)
#include<iostream>
#include<cmath>
#include<vector>
#include<algorithm>
#include<fstream>
using namespace std;
ifstream fin("grozavesti.in");
ofstream fout("grozavesti.out");
struct{
char name;
long p;
long q;
}a[205];
void swapLine(long i,long j,vector<vector<long>> &mat){
for(int k = 0;k<mat.size();k++){
swap(mat[i][k],mat[j][k]);
}
}
void swapCol(long i,long j,vector<vector<long>> &mat){
for(int k = 0;k<mat.size();k++){
swap(mat[k][i],mat[k][j]);
}
}
void solve(long n, vector<vector<long>> &mat){
long nr_change = 0;
long lg = 0;
for(int i=0;i<n;i++){
long poz = i;
long min = mat[i][i];
for(int j=i+1;j<n;j++){
long el = mat[j][j];
if(el<min){
min = el;
poz = j;
}
}
if(poz !=i){
swapLine(i,poz,mat);
a[lg].name = 'L';
a[lg].p = i;
a[lg].q = poz;
lg++;
swapCol(i,poz,mat);
a[lg].name = 'C';
a[lg].p = i;
a[lg].q = poz;
lg++;
nr_change += 2;
}
}
fout<<nr_change;
for(int i=0;i<lg;i++)
{
fout<<a[lg].name<<' '<<a[lg].p<<a[lg].q;
}
}
int main(){
long n;
vector<vector<long>> mat;
fin>>n;
for(int i=0;i<n;i++)
{
for(int j=0 ;j<n;j++){
fin >> mat[i][j];
}
}
fin.close();
solve(n,mat);
return 0;
}