Pagini recente » Cod sursa (job #762689) | Cod sursa (job #874775) | Cod sursa (job #406651) | Cod sursa (job #639436) | Cod sursa (job #1369504)
#include <fstream>
using namespace std;
ifstream fin ("grozavesti.in");
ofstream fout ("grozavesti.out");
int N, x, nr, nrsol, V[310];
struct sol { char c; int s1, s2; } S[1000];
bool Verif()
{
for (int i = 1; i <= N; i++)
{
if (V[i] < V[i-1]) return 0;
}
return 1;
}
int main()
{
fin >> N;
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= N; j++)
{
fin >> x;
if (i == j) V[++nr] = x;
}
}
int i = 1;
while (!Verif())
{
int nr1, nr2, minim = V[i];
for (int j = i + 1; j <= N; j++)
{
if (V[j] < minim)
{
minim = V[j];
nr1 = i;
nr2 = j;
}
}
if (minim != V[i])
{
swap (V[nr1], V[nr2]);
nrsol++;
S[nrsol] = { 'C', nr1, nr2 };
nrsol++;
S[nrsol] = { 'L', nr1, nr2 };
}
i++;
}
fout << nrsol << '\n';
for (i = 1; i <= nrsol; i++)
{
fout << S[i].c << ' ' << S[i].s1 << ' ' << S[i].s2 << '\n';
}
fout.close();
return 0;
}