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

水题一道。不过题目确实有问题,请大家注意。

Posted by The_Dawn at 2011-04-03 21:55:42 on Problem 2385
题目说牛一开始站在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
    readln(t,w);
    for i:=1 to t do
      begin
        readln(k);
        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:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator