nyoj 106 背包问题
2012-08-22 10:01
288 查看
http://acm.nyist.net/JudgeOnline/problem.php?pid=106
贪心
贪心
#include <iostream> using namespace std; int main() { int n; cin>>n; int v[11],w[11]; while(n--){ int s,m; cin>>s>>m; for(int i=0;i<s;i++) cin>>v[i]>>w[i]; for(int i=0;i<s-1;i++) for(int j=i+1;j<s;j++){ if(v[i]<v[j]){ swap(v[i],v[j]); swap(w[i],w[j]); } } int sum=0; int val=0; for(int i=0;sum<m;i++){ if(sum+w[i]<=m){ sum=sum+w[i]; val=val+v[i]*w[i]; } else { val=val+(m-sum)*v[i]; sum=m; } } cout<<val<<endl; } return 0; }
相关文章推荐
- NYOJ 106 背包问题(贪心,经典题目)
- NYOJ~106~背包问题~贪心算法~
- NYOJ 106 背包问题
- nyoj--106--背包问题(贪心,水题)
- NYOJ-106背包问题
- NYOJ—-106题背包问题
- NYOJ 106 背包问题
- NYOJ-106-背包问题
- NYOJ - 106 - 背包问题(物品可分割问题)
- nyoj 106 背包问题(简单贪心)
- nyoj--106--背包问题(贪心,水题)
- NYOJ 106 背包问题
- NYOJ 106 背包问题
- NYOJ 106 背包问题
- 【NYOJ-106】 背包问题
- nyoj 106 背包问题 可分割
- 【ACM】nyoj_106_背包问题_201308152026
- nyoj106背包问题(贪心)
- 贪心算法之——背包问题(nyoj106)
- NYOJ-106:背包问题