这道题用到了等价转换的思想
所有要运到a1的酒, 都要经过a2, 所以不如把a2的值改成a1+a2,然后依次以此类推。
#include<cstdio>
#include<cmath>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std;
int main()
{
int n;
while(~scanf("%d", &n) && n)
{
long long ans = 0, last = 0, x;
REP(i, 0, n)
{
scanf("%lld", &x);
ans += abs(last);
last += x;
}
printf("%lld\n", ans);
}
return 0;
}
本文介绍了一种利用等价转换思想解决特定运输问题的方法。通过将多个运输节点进行合并简化,有效地减少了计算复杂度。代码实现采用C++语言,并通过循环迭代实现了最优解的计算。
4763

被折叠的 条评论
为什么被折叠?



