vijos p1104(采药)(0-1背包)

今天DP第二道题,采药,其实就是背包问题,不知道要是没看教程会不会做,但是没有看源码编出来,也算是一个不小的进步,嘿嘿。

 1 program P1104;
 2 uses math;
 3 var
 4         t,v:array[1..1001] of longint;
 5         f:array[0..1001,0..1001]of longint;
 6         t1,m,i,j,k,l:longint;
 7 begin
 8         fillchar(f,sizeof(f),0);
 9         read(t1,m);
10         for i:=1 to m do
11         read(t[i],v[i]);
12         for i:=1 to m do
13                 for j:=1 to t1 do
14                 if j>=t[i] then
15                 f[i,j]:=max(f[i-1,j-t[i]]+v[i],f[i-1,j])
16                 else f[i,j]:=f[i-1,j];
17         write(f[m,t1]);
18 end.    
posted @ 2012-10-12 22:30  改名字干什么  阅读(174)  评论(0编辑  收藏  举报