DP 01背包 hdu 2602
2011-04-08 18:50
411 查看
#include<iostream>
using namespace std;
#define M 1001
#define WMAX( a , b ) a > b ? a : b
int f[M] , w[M] , v[M];
int main()
{
int n , mv;
int t , i , j;
scanf( "%d" , &t );
while( t-- )
{
scanf( "%d %d" , &n , &mv );
for( i = 0 ; i < n ; ++i )
{ scanf( "%d" , &v[i] ); }
for( i = 0 ; i < n ; ++i )
{ scanf( "%d" , &w[i] ); }
memset( f , 0 , sizeof( f ));
for( i = 0 ; i < n ; ++i )
{
for( j = mv ; j >= w[i] ; --j )
{
f[j] = WMAX( f[j] , f[j - w[i]] + v[i] );
}
}
printf( "%d/n" , f[mv] );
}
return 0;
}
using namespace std;
#define M 1001
#define WMAX( a , b ) a > b ? a : b
int f[M] , w[M] , v[M];
int main()
{
int n , mv;
int t , i , j;
scanf( "%d" , &t );
while( t-- )
{
scanf( "%d %d" , &n , &mv );
for( i = 0 ; i < n ; ++i )
{ scanf( "%d" , &v[i] ); }
for( i = 0 ; i < n ; ++i )
{ scanf( "%d" , &w[i] ); }
memset( f , 0 , sizeof( f ));
for( i = 0 ; i < n ; ++i )
{
for( j = mv ; j >= w[i] ; --j )
{
f[j] = WMAX( f[j] , f[j - w[i]] + v[i] );
}
}
printf( "%d/n" , f[mv] );
}
return 0;
}
相关文章推荐
- hdu2602 dp 01背包
- hdu 2602 01背包DP
- HDU 2602 Bone Collector (01背包DP)
- hdu 2602 Bone Collector 01背包 dp
- HDU 2602 Bone Collector (dp问题之01背包)
- 【DP|01背包】HDU-2602 Bone Collector
- dp重拾-01背包--HDU 2602
- 【HDU 2602】Bone Collector(DP-01背包)
- HDOJ(HDU).2602 Bone Collector (DP 01背包)
- hdu 2602 Bone Collector 01背包
- 【HDU】-2602-Bone Collector(01背包)
- HDU 2602 Bone Collector(01背包,DP)
- HDU - 2602 Bone Collector(01背包)
- [ACM] hdu 2602 Bone Collector(01背包)
- HDU 2602 Bone Collector (01背包)
- HDU 2602 Bone Collector (01背包)
- HDU 2602 Bone Collector (简单01背包)
- HDOJ(HDU).2546 饭卡(DP 01背包)
- 【HDU - 2602 】 Bone Collector 【01背包】
- hdu 2602(dp)