Pagini recente » Cod sursa (job #893177) | Cod sursa (job #3264229) | Cod sursa (job #3187666) | Cod sursa (job #2329203) | Cod sursa (job #30017)
Cod sursa(job #30017)
{
Jocul Flip
}
Program Flip;
Const Max = 16;
Type matrice = array[1..Max,1..Max] of Longint;
Var a : matrice;
n, m, i, j : byte;
s : longint;
Procedure MaxLinie( i : byte );
Var j : byte;
s1, s2 : Longint;
Begin
s1 := 0;
For j := 1 to m do
s1 := s1+a[i,j];
s2 := 0;
For j := 1 to m do
s2 := s2-a[i,j];
If s2 > s1 then
For j := 1 to m do
a[i,j] := -a[i,j];
End;
Procedure MaxColoana( j : byte );
Var i : byte;
s1, s2 : Longint;
Begin
s1 := 0;
For i := 1 to n do
s1 := s1+a[i,j];
s2 := 0;
For i := 1 to n do
s2 := s2-a[i,j];
If s2 > s1 then
For i := 1 to n do
a[i,j] := -a[i,j];
End;
Begin
Assign( input, 'flip.in' );
Reset( input );
Readln( n, m );
For i := 1 to n do
Begin
For j := 1 to m do
Read( a[i,j] );
Readln;
End;
Close( input );
For i := 1 to n do
Begin
MaxLinie( i );
For j := 1 to m do
MaxColoana( j );
MaxLinie( i );
End;
For j := 1 to m do
Begin
MaxColoana( j );
For i := 1 to n do
MaxLinie( i );
MaxColoana( j );
End;
s := 0;
For i := 1 to n do
For j := 1 to m do
s := s + a[i,j];
Assign( output, 'flip.out' );
Rewrite( output );
Writeln( s );
Close( output );
End.