Pagini recente » Cod sursa (job #1665073) | Cod sursa (job #309934) | Cod sursa (job #1100196) | Cod sursa (job #2228042) | Cod sursa (job #129118)
Cod sursa(job #129118)
#include <fstream>
using namespace std;
ifstream fin("grozavesti.in");
ofstream fout("grozavesti.out");
long a[305][305],n;
long sir[100000][4],minim=-123,l,c,nr=0;
void citire()
{
fin>>n;
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
fin>>a[i][j];
fin.close();
}
long mini(long x)
{
long min=1000010;
for (int i=x;i<n;i++)
for (int j=x;j<n;j++)
if (a[i][j]<min)
{
min=a[i][j];
l=i+1;
c=j+1;
}
return min;
}
void matrice (int i)
{
if (i==n)
return ;
l=0;
c=0;
mini(i);
if (l-1>i)
{
for (int k=0;k<n;k++)
{
int aux=a[l-1][k];
a[l-1][k]=a[i][k];
a[i][k]=aux;
}
sir[nr][0]=i+1;
sir[nr][1]=l;
sir[nr][2]=1;
nr++;
}
if (c-1>i)
{
for (int ll=0;ll<n;ll++)
{
int aux=a[ll][i];
a[ll][i]=a[ll][c-1];
a[ll][c-1]=aux;
}
sir[nr][0]=i+1;
sir[nr][1]=c;
sir[nr][2]=2;
nr++;
}
matrice (i+1);
}
int main()
{
citire();
matrice(0);
fout<<nr<<"\n";
for (int i=0;i<nr;i++)
{
if (sir[i][2]==1)
fout<<"L ";
else
fout<<"C ";
fout<<sir[i][0]<<" "<<sir[i][1]<<"\n";
}
fin.close();
fout.close();
return 0;
}