BÀY TRANH BEGIN IF S[SO,J] > MAX THEN CONST MAXN = 51; BEGI...

Bài 3 - Bày tranh

begin

if s[so,j] > max then

const MaxN = 51;

begin max:=s[so,j]; vtr:=j;end;

MaxM = 150;

s[i,j]:=s[tri,u]+v[i,j];

fi=’picture.inp’;

if max+c[k] > LuuMax then

tr[i,j]:=u;

fo=’picture.out’;

end;

type mang

LuuMax:=max+c[k];

ls:=s;

=array[0..MaxN,0..maxM] of byte;

check_result(k);

mang1 =array[0..MaxN,0..maxM]

ltr:=tr;

lvtr:=vtr;

of integer;

lk:=k;

var f:text;

ln:=so;

n,m,lvtr,luumax,lk,ln:longint;

{*---*}

c:array[0..maxN] of byte;

procedure inkq(n,m:byte);

v,tr,ltr:mang;

var trn:byte;

s,ls:mang1;

procedure process;

if n > 0 then

procedure int;

var i,j:integer;

var i,j,sl,k,u,start,finish,tri:integer;

trn:=n-1;

sl:=m-n+2; {so luong}

if n = lk+1 then dec(trn);

assign(f,fi);

inkq(trn,ltr[n,m]);

for k:=1 to n do

reset(f);

write(f,m,’ ’);

readln(f,n,m);

for i:=1 to n do read(f,c[i]);

fillchar(s,sizeof(s),0);

for i:=1 to n do

if i<>k then

for j:=1 to m do

procedure print;

read(f,v[i,j]);

start:=i;

close(f);

assign(f,fo);

finish:=i+sl-1;

if i>k then

writeln(f,luumax);

rewrite(f);

luumax:=0;

writeln(f,lk);

dec(start);

inkq(ln,lvtr);

dec(finish);

procedure check_result(k:byte);

var j,max,vtr,so:longint;

for j:=start to finish do

BEGIN

for u:=start-1 to j-1 do

max:=0;

int;

process;

so:=n;

tri:=i-1;

if n=k then dec(so);

if i = k+1 then dec(tri);

print;

END

if s[i,j]