Pagini recente » Cod sursa (job #2880446) | Cod sursa (job #2221011) | Cod sursa (job #520838) | Cod sursa (job #2621436) | Cod sursa (job #115323)
Cod sursa(job #115323)
var c,b,a:array[1..300] of longint;
d:array[1..2,1..300] of longint;
f,g:text;
n,nr,aux,x,y,i,j:longint;
procedure scrie(p1,p2:longint);
begin
if p1<>p2 then begin
writeln(g,'L ',p1,' ',p2);
writeln(g,'C ',p1,' ',p2);
end;
end;
procedure sort(x,y:longint);
var i,j,aux:longint;
begin
for i:=x to y-1 do
for j:=i+1 to y do
if a[i]>a[j] then begin
aux:=b[i];
b[i]:=b[j];
b[j]:=aux;
end;
end;
begin
assign(f,'grozavesti.in');
assign(g,'grozavesti.out');
reset(f);
rewrite(g);
read(f,n);
for i:=1 to n do
for j:=1 to n do begin
read(f,x);
if i=j then begin a[i]:=x; b[i]:=i; end;
end;
sort(1,n);
for i:=1 to n do begin
a[i]:=i;
c[i]:=i;
end;
for i:=1 to n do begin
if a[b[i]]<>a[c[i]] then begin
inc(nr);
d[1,nr]:=a[b[i]];
d[2,nr]:=a[c[i]];
end;
aux:=a[b[i]];
a[b[i]]:=a[c[i]];
a[c[i]]:=aux;
c[a[c[i]]]:=c[i];
c[i]:=b[i];
end;
writeln(g,nr);
for i:=1 to n do
scrie(d[1,i],d[2,i]);
close(f);
close(g);
end.