Pagini recente » Cod sursa (job #2513102) | Cod sursa (job #1315479) | Cod sursa (job #940752) | Cod sursa (job #2583608) | Cod sursa (job #119205)
Cod sursa(job #119205)
type mutare = record
lit : char;
i1, i2 : integer;
end;
var
fi, fo : text;
n, l, c, i, lmin, cmin, ls : integer;
min, aux : longint;
a : array [1..300,1..300] of longint;
s : array [1..600] of mutare;
begin
assign(fi,'grozavesti.in'); reset(fi);
assign(fo,'grozavesti.out'); rewrite(fo);
readln(fi,n);
for l := 1 to n do
begin
for c := 1 to n do
read(fi,a[l,c]);
readln(fi);
end;
for i := 1 to n-1 do
begin
min := 1000001;
for l := i to n do
for c := i to n do
if a[l,c] < min then
begin
min := a[l,c];
lmin := l; cmin := c;
end;
if i <> lmin then { Retinem interschimbarea de linii. }
begin
inc(ls); s[ls].lit := 'L'; s[ls].i1 := i; s[ls].i2 := lmin;
for c := 1 to n do { Interschimbam liniile. }
begin
aux := a[i,c]; a[i,c] := a[lmin,c]; a[lmin,c] := aux;
end;
end;
if i <> cmin then { Retinem interschimbarea de coloane. }
begin
inc(ls); s[ls].lit := 'C'; s[ls].i1 := i; s[ls].i2 := cmin;
for l := 1 to n do { Interschimbam coloanele. }
begin
aux := a[l,i]; a[l,i] := a[l,cmin]; a[l,cmin] := aux;
end
end;
end;
writeln(fo, ls);
for i := 1 to ls do
writeln (fo, s[i].lit,' ',s[i].i1,' ',s[i].i2);
close(fi); close(fo);
end.
{ Greseala: Nu am declarat longint elementele matricei = 0 p }