zhzq1865 2011-10-06 19:00:00
点我顶贴
收藏
删除
var
i,j,k,m,n,max:integer;f,a:array[0..101,0..101]of integer;
function max1(x,y:integer):integer;
begin
if x>y then max1:=x else max1:=y;
end;
begin
readln(n,m);
for i:=1 to n do
for j:=1 to m do
begin
read(a[i,j]);
f[i,j]:=1;
end;
max:=0;
for i:=1 to n*m do
for j:=1 to n do
for k:=1 to m do
if (a[j,k]>a[j+1,k])and(a[j,k]>a[j-1,k])
and(a[j,k]>a[j,k+1])and(a[j,k]>a[j,k-1]) then f[j,k]:=1 else begin
if a[j,k]<a[j+1,k] then f[j,k]:=max1(f[j,k],f[j+1,k]+1);
if a[j,k]<a[j-1,k] then f[j,k]:=max1(f[j,k],f[j-1,k]+1);
if a[j,k]<a[j,k+1] then f[j,k]:=max1(f[j,k],f[j,k+1]+1);
if a[j,k]<a[j,k-1] then f[j,k]:=max1(f[j,k],f[j,k-1]+1);
if f[j,k]>max then max:=f[j,k];
end;
writeln(max);
end.