解题思路:直接枚举
参考代码:
#include<iostream> using namespace std; const int N=5; int V,S; int maximum=0; int w[N]={0},v[N]={0},s[N]={0}; bool b[N]={0}; void fun(int c) { if(c--) { b[c]=0; fun(c); b[c]=1; fun(c); } else { int num=0,vum=0,sum=0; for(int i=0;i<N;i++) { num+=w[i]*b[i]; vum+=v[i]*b[i]; sum+=s[i]*b[i]; } if(num>maximum&&vum<=V&&sum<=S) maximum=num; } } int main() { cin>>V>>S; for(int i=0;i<N;i++) cin>>w[i]>>v[i]>>s[i]; fun(N); cout<<maximum; return 0; }
0.0分
2 人评分
C语言训练-字符串正反连接 (C语言代码)浏览:727 |
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:1392 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:1175 |
C语言训练-斐波纳契数列 (C语言代码)浏览:3015 |
C二级辅导-计负均正 (C语言代码)浏览:652 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1314 |
wu-淘淘的名单 (C++代码)浏览:1532 |
WU-整数平均值 (C++代码)浏览:1307 |
【金明的预算方案】 (C++代码)浏览:873 |
用筛法求之N内的素数。 (C语言代码)浏览:685 |