uva 10700 Camel trading(STL 棧)

來源:互聯網
上載者:User

題目串連:10700 - Camel trading


題目大意:給出一個只含有‘+’和‘*’的算式,要求不考慮優先順序的情況下,求的算式的最大值和最小值。


解題思路:最大值無非先處理所有的加法, 最小值先處理所有的乘法(因為所有數值均為正數)。

#include <stdio.h>#include <stack>using namespace std;int main() {    int n;    scanf("%d", &n);    while (n--) {stack<long long> add;stack<long long> mul;long long a, sum;char c;scanf("%lld", &a);add.push(a);mul.push(a);while (scanf("%c", &c) == 1 && c != '\n') {    scanf("%lld", &a);    if (c == '+') {sum = add.top();add.pop();add.push(sum + a);mul.push(a);    }    else if (c == '*') {sum = mul.top();mul.pop();mul.push(sum * a);add.push(a);    }}long long Max = 1, Min = 0;while (!add.empty()) {    Max *= add.top();    add.pop();}while (!mul.empty()) {    Min += mul.top();    mul.pop();}printf("The maximum and minimum are %lld and %lld.\n", Max, Min);    }    return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.