栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3264 Present for MM

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3264 Present for MM

#include<stdio.h>  #include<iostream>  #include<algorithm>  #include<string>  #include<string.h>  #include<math.h>  #include<map>  #include<queue>  #include<set>  #include<stack>  #include<vector>  #define LL long long  using namespace std;  struct node  {      int w, v;      node(int a, int b)      {          w = a;          v = b;      }      node() {}  };  vector <node> tre[10005];  int dp[50005];  int main()  {      int w, n;      while(~scanf("%d%d", &w, &n))      {          for(int i = 0; i < 10005; i++)   tre[i].clear();          memset(dp, 0, sizeof(dp));          w /= 100;          int cnt = 0;          for(int i = 0; i < n; i++)          {   int w1, v1, w2, v2, r;   scanf("%d%d%d%d%d", &w1, &v1, &w2, &v2, &r);   w1 /= 100;   w2 /= 100;   if(r == 1)     tre[cnt++].push_back(node(w1 + w2, v1 + v2));   else if(r == 2) {       tre[cnt].push_back(node(w1, v1));       tre[cnt++].push_back(node(w2, v2));   }   else {       tre[cnt].push_back(node(w1, v1));       tre[cnt++].push_back(node(w1 + w2, v1 + v2));   }          }          for(int i = 0; i < cnt; i++) for(int j = w; j >= 0; j--)   {       int ret = -1;       for(int k = 0; k < tre[i].size(); k++)         if(j >= tre[i][k].w)    ret = max(ret, (dp[j - tre[i][k].w] + tre[i][k].v));       dp[j] = max(dp[j], ret);   }          int ans = 0;          for(int i = 0; i <= w; i++)   ans = max(ans, dp[i]);          printf("%dn", ans);      }      return 0;  }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/372470.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号