POJ1088滑雪

暴搜飘过。。。{记忆化}
VAR
  R,L,I,J,MAX:lONGINT;
  DX:ARRAY[1..4] OF INTEGER=(1,-1,0,0);
  DY:ARRAY[1..4] OF INTEGER=(0,0,-1,1);
  H:ARRAY[1..100,1..100] OF LONGINT;
  F:ARRAY[1..100,1..100] OF LONGINT;
FUNCTION DFS(I,J:LONGINT):LONGINT;
VAR
  K:INTEGER;
  X,Y:LONGINT;
BEGIN
  IF F[I,J]>1 THEN EXIT(F[I,J]);
  DFS:=1;
  FOR K:=1 TO 4 DO
    BEGIN
      X:=I+DX[K];Y:=J+DY[K];
      IF (X>=1) AND (X<=R) AND (Y>=1) AND(Y<=L) AND (H[I,J]>H[X,Y]) THEN
        IF DFS<DFS(X,Y)+1 THEN DFS:=DFS(X,Y)+1;
      F[I,J]:=DFS;
    END;
END;
BEGIN
  READ(R,L);
  FOR I:=1 TO R DO
    FOR J:=1 TO L DO
      BEGIN
        READ(H[I,J]);
        F[I,J]:=1;
      END;
  FOR I:=1 TO R DO
    FOR J:=1 TO L DO
      IF MAX<DFS(I,J) THEN MAX:=DFS(I,J);
  WRITELN(MAX);
END.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值