Cod sursa(job #1992125)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 19 iunie 2017 15:49:39
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <stack>
using namespace std;
ifstream fi("emm.in");
ofstream fo("emm.out");
char x,a[100005];
int  nr,n;
stack<int> st1,st2;


void Compress()
{
    int a=st1.top();
    st1.pop();
    int b=st1.top();
    st1.pop();
    if(st2.top()==1) st1.push(min(a,b));
    if(st2.top()==2) st1.push(max(a,b));
    st2.pop();
}
int main()
{
   while(fi>>x) a[++n]=x;

   for(int i=1;i<=n;i++)
   {

    if(a[i]=='m') st2.push(1);
    if(a[i]=='M') st2.push(2);
    if (isdigit(a[i])) nr=nr*10+(a[i]-'0');
    if (isdigit(a[i]) and !isdigit(a[i+1]))
                      {st1.push(nr);nr=0;Compress();}



   }
   fo<<st1.top();
    return 0;
}