Pagini recente » Cod sursa (job #2789755) | Cod sursa (job #982010) | Cod sursa (job #265835) | Cod sursa (job #3147835) | Cod sursa (job #3121406)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("grozavesti.in");
ofstream fout("grozavesti.out");
int diag[305];
short a[305], b[305];
int main()
{
short n, nri = 0;
int x;
fin>>n;
for (short i = 1; i <= n; i++)
for (short j = 1; j <= n; j++) {
fin>>x;
if (i == j) diag[i] = x;
}
/// sortez diagonala
for (short i = 1; i < n; i++) {
short pozmin = i;
int minim = diag[i];
for (short j = i+1; j <= n; j++) if (diag[j] < minim) minim = diag[j], pozmin = j;
if (i != pozmin) { /// interschimb
swap(diag[i], diag[pozmin]);
nri++; /// inca o interschimbare
a[nri] = i;
b[nri] = pozmin; /// a[i], b[i] sunt liniile si coloanele interschimbate la interschimbarea i
}
}
fout<<2*nri; /// la fiecare interchimbare, facem 2 interschimbari
for (short i = 1; i <= nri; i++) {
fout<<"\nL "<<a[i]<<' '<<b[i]<<"\nC "<<a[i]<<' '<<b[i];
}
return 0;
}