Cod sursa(job #981405)

Utilizator AeroHHorea Stefan AeroH Data 7 august 2013 01:13:23
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
//#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <utility>
#define ll long long int
#include <cstdio>
#define first f
#define second s
using namespace std;
ifstream cin("rez.in");
ofstream cout("rez.out");
//ios_base::sync_with_stdio(false);
ll i,ii,j,k,maxx,n,rez;
string s;

int Paralel();

int CompunNumar()
{   int nr=0;
    ++i;
    for (;i<s.size();++i)
    if (s[i]>='0'&&s[i]<='9')
    nr=nr*10+(s[i]-'0');
    else break;
    return nr;
}

int Serie()
{
    int rasp=0;
    while(s[i]!=','&&s[i]!=')'&&i<s.size())
          {
              if (s[i]=='R')
                rasp+=CompunNumar();
              else rasp+=Paralel();
          }
    return rasp;

}

int Paralel()
{
    int sum=0;
    int prod=1;
    ++i;
    while(s[i]!=')'&&i<s.size())
    {
        ii=Serie();
        sum+=ii;
        prod*=ii;
        if (s[i]==',')
        ++i;
        else {++i;return prod/sum;}
    }
    return 0;
}

int main()
{
//ios_base::sync_with_stdio(false);
cin>>s;
while (i<s.size())
if (s[i]=='(')
   rez+=Paralel();
else rez+=Serie();

cout<<rez<<'\n';
    return 0;
}