Cod sursa(job #144896)
Utilizator | Data | 28 februarie 2008 08:33:31 | |
---|---|---|---|
Problema | Grozavesti | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 1.76 kb |
var a,c,l:array[1..100,1..100] of 0..9;
n,i,j,k,min,x,y,m:integer;
f,g:text;
ok:boolean;
begin
assign(f,'grozavesti.in');
assign(g,'grozavesti.out');
reset(f);
rewrite(g);
readln(f,n);
min:=maxint;
m:=0;
for i:=1 to n do
for j:=1 to n do begin
read(f,a[i,j]);
if a[i,j]<min then begin
min:=a[i,j];
x:=i;
y:=j;
end;
end;
ok:=true;
for i:=2 to n do if a[i,i]<a[i-1,i-1] then begin
ok:=false;
break;
end;
if ok then writeln(g,'0')
else begin
if a[1,1]<>min then begin
c[1,1]:=1;
c[1,2]:=y;
l[1,1]:=1;
l[1,2]:=x;
inc(m);
end;
for k:=2 to n do begin
min:=maxint;
for i:=k to n do
for j:=k to n do begin
if a[i,j]<min then begin
min:=a[i,j];
x:=i;
y:=j;
end;
if a[k,k]<>min then begin
c[k,1]:=k;
c[k,2]:=y;
l[k,1]:=k;
l[k,2]:=x;
inc(m);
end;
end;
end;
writeln(g,m);
for i:=1 to k do begin
if (c[i,1]<>0) and (c[i,2]<>0) then
writeln(g,'C ',c[i,1],' ',c[i,2]);
if (l[i,1]<>0) and (l[i,2]<>0) then
writeln(g,'L ',l[i,1],' ',l[i,2]);
end;
end;
close(f);
close(g);
end.