Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
Register

## Re:水题一道。不过题目确实有问题，请大家注意。

Posted by wlbf at 2011-04-04 11:23:06 on Problem 2385
In Reply To:水题一道。不过题目确实有问题，请大家注意。 Posted by:The_Dawn at 2011-04-03 21:55:42
```> 题目说牛一开始站在tree1下面，是错的。
> 其实牛是一开始站在哪里都可以。
>
> 在代码里加了一句就AC了。
>
> var
>   t,w,i,j,k,ans:longint;
>   f:array[1..1005,0..31,1..2]of longint;
>   ap:array[1..1005,1..2]of integer;
>
> function max(a,b:longint):longint;
>   begin
>     if a>b then exit(a) else exit(b);
>   end;
>
> procedure init;
>   begin
>     for i:=1 to t do
>       begin
>         inc(ap[i,k]);
>       end;
>     fillchar(f,sizeof(f),255);
>   end;
>
> function min(a,b:longint):longint;
>   begin
>     if a<b then exit(a) else exit(b);
>   end;
>
> procedure dawn;
>   begin
>     f[1,0,1]:=ap[1,1];
>     f[1,0,2]:=ap[1,2];  //就是这句话，必须给一开始站在tree2也赋初值
>     for i:=1 to t do
>       for j:=0 to min(i-1,w) do
>         for k:=1 to 2 do
>           begin
>             f[i+1,j+1,3-k]:=max(f[i+1,j+1,3-k],f[i,j,k]+ap[i+1,3-k]);
>             f[i+1,j,k]:=max(f[i+1,j,k],f[i,j,k]+ap[i+1,k]);
>           end;
>   end;
>
> procedure pink;
>   begin
>     for i:=0 to w do
>       for j:=1 to 2 do
>         ans:=max(ans,f[t,i,j]);
>     writeln(ans);
>   end;
>
> begin
>   init;
>   dawn;
>   pink;
> end.
```

Followed by: