POJ 3040 Allowance(贪心经典题目)
2017-12-08 13:43
239 查看
Source Code
#include<iostream> #include<algorithm> #include<string.h> using namespace std; struct node { int x, y; }cow[21]; bool cmp(node a, node b) { return a.x < b.x; } int main() { int N, C; while (cin >> N >> C) { int sum = 0, used[21]; memset(used, 0, sizeof(used)); int i, j; for (i = 0, j = 0; i < N; i++) { int a, b; cin >> a >> b; if (a >= C) sum = sum + b; else { cow[j].x = a; cow[j++].y = b; } } sort(cow, cow + j, cmp); while (1) { int s = C,temp=0; for (i = j - 1; i >= 0; i--) { if (s > 0&&cow[i].y>0) { temp = min(cow[i].y, s / cow[i].x); used[i] += temp; s = s - temp*cow[i].x; } } if (s > 0) { for (i = 0; i < j; i++) { if (used[i] < cow[i].y&&cow[i].x>=s) { used[i]++; s = s - cow[i].x; break; } } } if (s > 0) break; sum++; for (i = 0; i < j; i++) { cow[i].y -= used[i]; used[< cf83 /span>i] = 0; } } cout << sum << endl; } return 0; }
相关文章推荐
- POJ 3040Allowance(贪心好题目)
- poj 3040 Allowance贪心
- 【POJ】3040 - Allowance(贪心)
- POJ 3040 Allowance 贪心
- Allowance (poj 3040 贪心)
- poj 3040 Allowance 贪心
- poj-3040 Allowance (贪心)
- poj 3040 Allowance (贪心)
- POJ 3040 Allowance 贪心
- Allowance - 完美诠释贪心 - POJ 3040
- POJ 3040 Allowance【难,贪心】
- POJ 3040 Allowance (贪心)
- poj 3040 Allowance 贪心
- Allowance - POJ 3040 贪心
- [POJ 3040] Allowance (贪心)
- 【POJ】3040 - Allowance 贪心
- POJ Problem 3040 Allowance 【贪心】
- POJ 3040 - Allowance(贪心)
- (省赛训练系列)贪心的说 poj贪心经典题目
- POJ 3040 Allowance【贪心】