01裸题

http://poj.org/problem?id=3624

就是很直接的01问题 可以复习用 但是!被全局数组和局部数组搞得一直过不了,改了才ac。

是因为空间问题么

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 #include<iostream>
 5 #include<algorithm>
 6 #define N 4000
 7 using namespace std;
 8 int w[13000],d[13000],f[12885];
 9 int main()
10 {
11     int n,m;
12     while(scanf("%d%d",&n,&m)!=EOF)
13     {
14        for(int i=1;i<=n;i++)
15        {
16            scanf("%d%d",&w[i],&d[i]);
17        }
18        for(int i=1;i<=n;i++)
19         {
20             for(int k=m;k>=w[i];k--)
21             f[k]=max(f[k],f[k-w[i]]+d[i]);
22         }
23         printf("%d\n",f[m]);
24     }
25     return 0;
26 }
View Code

猜你喜欢

转载自www.cnblogs.com/XXrll/p/10123249.html
今日推荐