NYOJ 106 背包问题
2014-02-12 17:20
330 查看
原题链接
这题只需要将所有物品按照降序排序,然后从上往下取就行,附ac代码:
#include <stdio.h> #include <stdlib.h> struct Node{ int v, w; }; int cmp(const void *a, const void *b){ return (*(Node *)b).v - (*(Node *)a).v; //按单位价值降序 } int main(){ int t, s, v, w, m; Node a[11], sum; scanf("%d", &t); while(t-- && scanf("%d%d", &s, &m)){ int i; for(i = 0; i != s; ++i) scanf("%d%d", &a[i].v, &a[i].w); qsort(a, s, sizeof(Node), cmp); for(i = sum.v = sum.w = 0; i != s; ++i){ if(a[i].w >= m - sum.w){ sum.v += (m - sum.w) * a[i].v; break; } else{ sum.w += a[i].w; sum.v += a[i].v * a[i].w; } } printf("%d\n", sum.v); } return 0; }
相关文章推荐
- 【ACM】nyoj_106_背包问题_201308152026
- nyoj106_背包问题(贪心or多重背包解法)
- NYOJ-106:背包问题
- nyoj106背包问题为模板解出杭电oj2187悼念512汶川大地震遇难同胞——老人是真饿了
- NYOJ 106 背包问题
- nyoj106背包问题
- 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-背包问题