Cod sursa(job #167256)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 29 martie 2008 12:27:48
Problema Grozavesti Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.21 kb
var a : array[1..300,1..300] of longint;
    i,j,n,l,c,ll,cc,min,zl,zc : longint;
    f,g : text;
    retl,retc : array[1..600,1..2] of longint;
procedure inter_linie(i,j : longint);
var c,aux : longint;
begin
  for c:=1 to n do
  begin
    aux:=a[i,c];
    a[i,c]:=a[j,c];
    a[j,c]:=aux;
  end;
end;

procedure inter_col(i,j : longint);
var c,aux : longint;
begin
  for c:=1 to n do
  begin
    aux:=a[c,i];
    a[c,i]:=a[c,j];
    a[c,j]:=aux;
  end;
end;

begin
assign(f,'grozavesti.in');reset(f);
assign(g,'grozavesti.out');rewrite(g);
read(f,n);
for i:=1 to n do
   for j:=1 to n do read(f,a[i,j]);
for i:=1 to n-1 do
begin
  min:=maxlongint;
    for l:=i to n do
      for c:=i to n do
        if a[l,c]<min then
        begin
          min:=a[l,c];
          ll:=l;
          cc:=c;
        end;
  if ll<>i then
  begin
    inc(zl);
    retl[zl,1]:=i;
    retl[zl,2]:=ll;
    inter_linie(i,ll);
  end;
  if cc<>i then
  begin
    inc(zc);
    retc[zc,1]:=i;
    retc[zc,2]:=cc;
    inter_col(i,cc);
  end;
end;
writeln(g,zl+zc);
for i:=1 to zl do
  writeln(g,'L ',retl[i,1],' ',retl[i,2]);
for i:=1 to zc do
  writeln(g,'C ',retc[i,1],' ',retc[i,2]);
close(g);
end.