Pagini recente » Cod sursa (job #2400143) | Cod sursa (job #2036180) | Cod sursa (job #2232831) | Cod sursa (job #1545512) | Cod sursa (job #1673306)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <bitset>
using namespace std;
ifstream fin ("grozavesti.in");
ofstream fout("grozavesti.out");
int v[310][310],i,j,h,mini,minii,minij,n,ii,jj,sol;
pair <int , pair<int, int> > f[1010];
void shimbaL(int x, int y)
{
int i,aux;
for(i=1;i<=n;i++)
{
aux=v[i][x];
v[i][x]=v[i][y];
v[i][y]=aux;
}
sol++;
f[sol].first=1;
f[sol].second.second=y;
f[sol].second.first=x;
}
void shimbaC(int x, int y)
{
int i,aux;
for(i=1;i<=n;i++)
{
aux=v[x][i];
v[x][i]=v[y][i];
v[y][i]=aux;
}
sol++;
f[sol].first=2;
f[sol].second.second=y;
f[sol].second.first=x;
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fin>>v[i][j];
for(h=1;h<=n;h++)
{
mini=10000000LL;
for(i=h;i<=n;i++)
for(j=h;j<=n;j++)
if(v[i][j]<mini)
{
mini=v[i][j];
minii=i;
minij=j;
}
if(minii!=h)
shimbaC(minii, h);
if(minij!=h)
shimbaL(minij, h);
}
fout<<sol<<"\n";
for(i=1;i<=sol;i++)
{
if(f[i].first==1)
fout<<"L ";
else
fout<<"C ";
fout<<f[i].second.first<<" "<<f[i].second.second<<"\n";
}
fin.close();
fout.close();
return 0;
}