Pagini recente » Cod sursa (job #271527) | Cod sursa (job #3004514) | Cod sursa (job #1241902) | Cod sursa (job #568907) | Cod sursa (job #3294184)
#include <fstream>
using namespace std;
ifstream fin ("grozavesti.in");
ofstream fout ("grozavesti.out");
pair <int, int> v[1001];
int main () {
int n;
fin >> n;
int mat[n + 1][n + 1];
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
fin >> mat[i][j];
int l = n, c = n, cnt = 0;
do {
int maxim = -1, l_maxim = 0, c_maxim = 0;
for (int i = 1; i <= l; ++i) {
if (mat[i][i] > maxim) {
maxim = mat[i][i];
l_maxim = i;
c_maxim = i;
}
}
if (l_maxim != l && c_maxim != c) {
v[++cnt].first = l_maxim;
v[cnt].second = l;
v[++cnt].first = c_maxim;
v[cnt].second = c;
for (int j = 1; j <= n; ++j)
swap (mat[l_maxim][j], mat[l][j]);
for (int i = 1; i <= n; ++i)
swap (mat[i][c_maxim], mat[i][c]);
}
l--;
c--;
} while (l > 1 && c > 1);
fout << cnt << '\n';
for (int i = 1; i < cnt; i += 2) {
fout << 'L' << ' ' << v[i].first << ' ' << v[i].second << '\n';
fout << 'C' << ' ' << v[i + 1].first << ' ' << v[i + 1].second << '\n';
}
return 0;
}