ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++小飞侠的游园方案

2022-01-20 18:04:06  阅读:206  来源: 互联网

标签:正整数 游园 int 30 C++ value2 value1 小飞侠


使用C++破解小飞侠游园方案

题目描述

      小飞侠星期天会邀他的灵儿妹妹到公园去玩。公园里有很多娱乐项目,可并不是每一项他们都喜欢,所以他们对每一项都进行了“喜欢度”的评分。因为小飞侠也是一个了不起的角色,所以他一定会选择在有限时间内的最好的方案。现在要你做的就是找出在规定时间内他们选择哪几项不同的活动可以使其“喜欢度”之和达到最大。

输入

第一行一个正整数N(1<=N<=100)表示总共的娱乐项目数。

第二行一个正整数表示规定的时间t(0<t<1000)。

下面有N行,其中第i+2行有两个正整数fi(0<=fi<=100)和ti(0<ti<=100),分别表示对项目i的“喜欢度”和它所耗费的时间。

输出

       第一行输出最大的“喜欢度”之和。

样例输入 

3
5
1 2
5 5
4 3

样例输出 

5 

代码

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main(){
 5     int N;
 6     int W;
 7     int w[30]={0};
 8     int v[30]={0};
 9     int k,C;
10     int p;
11     int B[30][200] = {0}; 
12     cin>>W>>N;
13     for(p=1;p<N+1;p++){
14         cin>>w[p] >>v[p];
15     }
16         for(k=1;k<N+1;k++){
17             for(C = 1;C < W+1;C++){
18                 if(w[k] > C){
19                     B[k][C] = B[k-1][C];
20                 }
21                 else{
22                     int value1 = B[k-1][C-w[k]] + v[k];
23                     int value2 = B[k-1][C];
24                     if(value1 > value2){
25                         B[k][C] = value1;
26                     }
27                     else{
28                         B[k][C] = value2;
29                     }
30                 }
31             }
32         }    
33         cout<<B[N][W ]<<endl;
34     return 0;
35 }

 

标签:正整数,游园,int,30,C++,value2,value1,小飞侠
来源: https://www.cnblogs.com/wrt2022/p/Using-the-Dev-C-plus-plus-realize-Peter-pan-garden-plan-

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有