Cod sursa(job #119636)

Utilizator tebanadrianteban adrian tebanadrian Data 2 ianuarie 2008 15:28:46
Problema Jocul Flip Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.03 kb
 program flip1;
 type matr=array[1..5,1..5]of longint;
 var a:matr;
     i,j,n,m:byte;
 procedure citire;
 var f:text;
 begin
 assign(f,'flip.in');
 reset(f);
 readln(f,n,m);
 for i:= 1 to n do
 begin
 for j:= 1 to m do
 read(f,a[i,j]);
 readln(f);
 end;
 close(f);
 end;
 procedure flip(var a:matr);
 var gata:boolean;
     x,y:longint;
 begin
 repeat
 gata:=true;
 for i:= 1 to n do
 begin
 x:=0;
 y:=0;
 for j:= 1 to m do
 begin
 x:=a[i,j]+x;
 y:=y-a[i,j];
 end;
 if y>x then
 begin
 for j:= 1 to m do
 a[i,j]:=0-a[i,j];
 gata:=false;
 end;
 end;
 for j:= 1 to m do
 begin
 x:=0;
 y:=0;
 for i:= 1 to n do
 begin
 x:=a[i,j]+x;
 y:=y-a[i,j];
 end;
 if y>x then
 begin
 for i:= 1 to n do
 a[i,j]:=0-a[i,j];
 gata:=false;
 end;
 end;
 until gata;
 end;
 procedure afisare;
 var f:text;
     s:longint;
 begin
 assign(f,'flip.out');
 rewrite(f);
 s:=0;
 for i:=1 to n do
 for j:=1 to m do
 s:=s+a[i,j];
 write(f,s);
 close(f);
 end;
 begin
 citire;
 flip(a);
 afisare;
 end.