UVA 11054 Gergovia的酒交易 Wine trading in Gergovia
Posted coder-cjh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA 11054 Gergovia的酒交易 Wine trading in Gergovia相关的知识,希望对你有一定的参考价值。
一道思维题,主要用到的方法是思路转化。
首先考虑第一个村庄,首先他本身一定会用|a[1]|的劳动力
- a[1]>0 那么2村庄一定要花a[1]的劳动力来运输,也就是需要a[1]+a[2]的劳动力
- a[1]<0 那么2村庄就已经有-a[1]瓶酒,就可以不用去买了,也就是a[2]-(-a[1])=a[1]+a[2]
综上,我们通过扫描法来记录前几个村庄带给这个村庄的酒,累加劳动力就好了
#include<bits/stdc++.h> using namespace std; int n; int main() while(~scanf("%d",&n)&&n) long long a,ans=0,last=0;//不开LL见祖宗 for(int i=1;i<=n;i++) scanf("%lld",&a); ans+=abs(last);//取绝对值是因为劳动力为正 last+=a;//加上这一次的劳动力 printf("%lld\n",ans);
以上是关于UVA 11054 Gergovia的酒交易 Wine trading in Gergovia的主要内容,如果未能解决你的问题,请参考以下文章
UVA - 11054 Wine trading in Gergovia (Gergovia 的酒交易)(贪心+模拟)
UVA 11054 Wine trading in Gergovia(思维)
UVA11054 Wine trading in Gergovia
UVa11054 Wine trading in Gergovia (等价转换)