ZOJ Problem Set - 3623Battle Ships

来源:互联网 发布:dvd视频制作软件 编辑:程序博客网 时间:2024/06/15 01:36

Link:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4769

完全背包

反向考虑造船和进攻的关系,枚举时间。

#include <iostream>#include <algorithm>#include <string.h>using namespace std;typedef long long ll;const int Len=40;const int N=400;int map[Len][2];int dp[N+50];int main(){    int n,l;    while(cin>>n>>l){        memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){    cin>>map[i][0]>>map[i][1];}for(int i=0;i<n;i++){    for(int j=0;j<N;j++){    dp[j+map[i][0]]=max(dp[j+map[i][0]],dp[j]+map[i][1]*j);    }}for(int i=0;i<N;i++){if(dp[i]>=l){    cout<<i<<endl;    break;}}    }}


0 0