Pagini recente » Cod sursa (job #143813) | Cod sursa (job #857199) | Cod sursa (job #147354) | Cod sursa (job #2642228) | Cod sursa (job #115652)
Cod sursa(job #115652)
var a:array[1..100,1..100]of longint;f:text;
i,j,n,x,min,l:longint;
sol,soll,solc,v,w1,w2,w3:array[1..300]of integer;
begin
assign(f,'grozavesti.in');reset(f);readln(f,n);
for i:=1 to n do
begin min:=1000000000;
for j:=1 to n do
begin
read(f,a[i,j]);
if(a[i,j]<=min)and(v[j]=0)then
begin x:=j;min:=a[i,j];end;end;
sol[i]:=a[i,x];
soll[i]:=i;solc[i]:=x;v[x]:=1;
end;
for i:=1 to n-1 do for j:=i+1 to n do
if sol[i]>sol[j] then
begin
x:=sol[i];sol[i]:=sol[j];sol[j]:=x;
x:=soll[i];soll[i]:=soll[j];soll[j]:=x;
x:=solc[i];solc[i]:=solc[j];solc[j]:=x;
end;
for i:=1 to n do
begin
if soll[i]<>i then
begin
for j:=1 to n do
begin x:=a[i,j];a[i,j]:=a[soll[i],j];a[soll[i],j]:=x;end;
for j:=1 to n do if soll[j]=i then soll[j]:=soll[i];
inc(l);w1[l]:=1;w2[l]:=i;w3[l]:=soll[i];
soll[i]:=i;
end;
if solc[i]<>i then
begin
for j:=1 to n do
begin x:=a[j,i];a[j,i]:=a[j,solc[i]];a[j,solc[i]]:=x;end;
for j:=1 to n do if solc[j]=i then solc[j]:=solc[i];
inc(l);w1[l]:=2;w2[l]:=i;w3[l]:=solc[i];
solc[i]:=i;
end;
end;
close(f);assign(f,'grozavesti.out');rewrite(f);
writeln(f,l);for i:=1 to l do
begin
if w1[i]=1 then write(f,'L ') else write(f,'C ');
writeln(f,w2[i],' ',w3[i]);
end;
close(f);
end.