uva-11054-模拟

Posted shuiyonglewodezzzzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uva-11054-模拟相关的知识,希望对你有一定的参考价值。

题意:一条街有许多卖酒的店,有些店需要进酒,有些店需要出酒,所有的店的需求总和为0,问怎么移动,使酒的移动总和最少。

模拟,考虑一家店的需求为xi,无论是从左或者是从右或者其他形式,让xi->0的花费总是xi.所以只要从左往右开始计算每家的花费,或者从右往左也行.

这样算是最容易的方式.

 

#include "pch.h"
#include <string>
#include<iostream>
#include<map>
#include<memory.h>
#include<vector>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
#include<math.h>
#include<iomanip>
#include<bitset>

namespace cc
{
    using std::cout;
    using std::endl;
    using std::cin;
    using std::map;
    using std::vector;
    using std::string;
    using std::sort;
    using std::priority_queue;
    using std::greater;
    using std::vector;
    using std::swap;
    using std::stack;
    using std::bitset;


    constexpr int N = 100000;
    
    int a[N];
    void solve()
    {
        int n;
        while (cin>>n&&n) 
        {
            long long sum = 0;
            int cur = 0;
            long long pre = 0;
            for (int i=0;i<n;i++) 
            {
                cin >> cur;
                if (pre < 0)
                    sum += (pre*-1);
                else
                    sum += pre;
                pre += cur;
            }
            cout << sum << endl;
        
        }
    }

};


int main()
{

#ifndef ONLINE_JUDGE
    freopen("d://1.text", "r", stdin);
#endif // !ONLINE_JUDGE
    cc::solve();
    return 0;
}

 

以上是关于uva-11054-模拟的主要内容,如果未能解决你的问题,请参考以下文章

UVA 11054 Wine trading in Gergovia(思维)

UVa11054 Wine trading in Gergovia (等价转换)

UVa 11054 Wine Trading in Gergovia 题解 + 算法分析

UVa 11054 Gergovia的酒交易

UVa 11054 - Wine trading in Gergovia

UVA11054 Wine trading in Gergovia