Pagini recente » Monitorul de evaluare | Cod sursa (job #5094) | Cod sursa (job #2816211) | Cod sursa (job #897944) | Cod sursa (job #214904)
Cod sursa(job #214904)
program flip;
var f, g:text;
s, st, n, m, i, j, ii, l, c, jj, jjj:longint;
gasit:boolean;
a, b:array[1..16,1..16] of longint;
begin
assign(f,'flip.in'); reset(f);
assign(g,'flip.out'); rewrite(g);
readln(f,n,m);
for i:=1 to n do
for j:=1 to m do
read(f,a[i,j]);
gasit:=true;
while gasit do
begin
gasit:=false;
for i:=1 to n do
for j:=1 to m do
begin
l:=i;
c:=j;
s:=0;
for ii:=1 to m do
s:=s+a[l,ii];
for ii:=1 to n do
s:=s+a[ii,c];
s:=s-a[l,c];
if s<0 then
begin
for ii:=1 to m do
b[l,ii]:=a[l,ii]*(-1);
for ii:=1 to n do
b[ii,c]:=a[ii,c]*(-1);
gasit:=true;
end;
writeln;
for jj:=1 to n do
begin
for jjj:=1 to m do
write(a[jj,jjj],' ');
writeln;
if gasit then
for jj:=1 to n do
for jjj:=1 to m do
a[jj,jjj]:=b[jj,jjj];
end;
end;
end;
for i:=1 to n do
for j:=1 to m do
st:=st+a[i,j];
writeln(g,st);
close(f);
close(g);
end.