uva 11054 Wine trading in Gergovia(贪心)
2013-08-24 14:44
447 查看
题目连接:11054 - Wine trading in Gergovia
题目大意:有N户人家住在一条街上,每户人家有需求和供应葡萄酒, 因为路程的不同,导致交易葡萄酒的成本不同,成不等于交易量* 路程,求,最少的交易成本使得每户人家的需求和供应的到满足,(总需求= 总供应)。
解题思路:贪心的思想, 最左边的人家想要获得或者是卖出,一定是对右边的人家进行操作,所以问题可以转化成第二家人的需求变成num[0] + num[1], 而运输量即为num[0]的绝对值,不管第二户人家的需求与第一户人家的需求是否匹配或者数量够不够,都可以看成是人家1在买卖过程中将货物暂时放在人家2,以此类推到最后一户人家。
注意总和要用long long 。
题目大意:有N户人家住在一条街上,每户人家有需求和供应葡萄酒, 因为路程的不同,导致交易葡萄酒的成本不同,成不等于交易量* 路程,求,最少的交易成本使得每户人家的需求和供应的到满足,(总需求= 总供应)。
解题思路:贪心的思想, 最左边的人家想要获得或者是卖出,一定是对右边的人家进行操作,所以问题可以转化成第二家人的需求变成num[0] + num[1], 而运输量即为num[0]的绝对值,不管第二户人家的需求与第一户人家的需求是否匹配或者数量够不够,都可以看成是人家1在买卖过程中将货物暂时放在人家2,以此类推到最后一户人家。
注意总和要用long long 。
#include <stdio.h> #include <stdlib.h> const int N = 1000005; int num ; int main() { int n; while (scanf("%d", &n), n) { for (int i = 0; i < n; i++) scanf("%d", &num[i]); long long sum = 0; for (int i = 0; i < n - 1; i++) { sum += abs(num[i]); num[i + 1] += num[i]; } printf("%lld\n", sum); } return 0; }
相关文章推荐
- UVa11054 Wine trading in Gergovia(贪心+思路)
- UVA-11054-Wine trading in Gergovia(模拟+贪心)
- uva - 11054 - Wine trading in Gergovia(贪心)
- Uva 11054 Wine trading in Gergovia(贪心模拟)
- uva 11054 Wine trading in Gergovia (贪心 + 模拟)
- UVA-11054 Wine trading in Gergovia(贪心)
- UVa11054 poj2940 sdut2370 Wine trading in Gergovia(贪心)
- UVA 11054 Wine trading in Gergovia 葡萄酒交易 贪心+模拟
- UVA 11054 Wine trading in Gergovia 葡萄酒交易 贪心+模拟
- Wine trading in Gergovia UVA - 11054 贪心思维
- UVA 11054 Wine trading in Gergovia(贪心)
- UVa 11054/HDU 1489/POJ 2940 Wine trading in Gergovia(贪心&双向队列)
- UVa 11054 Wine trading in Gergovia (贪心)
- [贪心]UVA11054 Wine trading in Gergovia
- UVa 11054 Wine trading in Gergovia【贪心】
- UVA11054:Wine trading in Gergovia(Gergovia的酒交易)
- uva11054 - Wine trading in Gergovia(葡萄酒交易)
- UVA 11054 - Wine trading in Gergovia
- UVA 11054 Wine trading in Gergovia
- UVa 11054 - Wine trading in Gergovia