Cod sursa(job #168951)

Utilizator mariusake212Isac Marius-Sergiu mariusake212 Data 31 martie 2008 21:43:13
Problema Jocul Flip Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.33 kb
var
        f:text;
        a:array[1..16,1..16]of longint;
        vn,vm:array[1..16]of integer;
        s,max:longint;
        n,m,i,j:byte;
        x,y:integer;
begin
        max:=-maxlongint;
        assign(f,'flip.in');
        reset(f);
        read(f,n);
        read(f,m);
        for i:=1 to n do
                for j:=1 to m do
                        read(f,a[i,j]);
        close(f);
        for i:=1 to n do
                vn[i]:=-1;
        for i:=1 to m do
                vm[i]:=-1;
        x:=n;
        while x>0 do
                begin
                x:=n;
                while vn[x]=1 do x:=x-1;
                vn[x]:=1;
                if x<>n then for i:=x+1 to n do vn[i]:=-1;
                y:=m;
                while y>0 do
                        begin
                        y:=m;
                        while vm[y]=1 do y:=y-1;
                        vm[y]:=1;
                        if y<>n then for i:=y+1 to m do vm[i]:=-1;
                        s:=0;
                        for i:=1 to n do
                        for j:=1 to m do
                        s:=s+vn[i]*vm[j]*a[i,j];
                        if s>max then max:=s;
                        end;
                end;
        assign(f,'flip.out');
        rewrite(f);
        write(f,max);
        close(f);
end.