Pagini recente »
Istoria paginii runda/cerc_8_1
|
Istoria paginii runda/clasa9c/clasament
|
Profil HortolomeiEliza
|
Cod sursă (job #545527)
|
Cod sursă (job #134649)
Cod sursă (job
#134649)
#include <fstream>
#include <cstdio>
#include <vector>
#include <cstring>
using namespace std;
ofstream g("bizar.out");
long n,i,j;
char s[100005];
vector<long> v[100005];
long eval(long nr,long st,long dr,long poz)
{
long i=st,nrp,sav,x;
while (i<dr)
{
while ((s[i]==',' || s[i]==' ' ) && i<n)
i++;
if (s[i]=='(')
{
sav=i;
nrp=1;
while (nrp!=0 && i<n)
{
i++;
if (s[i]=='(')
nrp++;
if (s[i]==')')
nrp--;
}
x=v[poz][v[poz].size()-1];
x=eval(x,sav+1,i,poz+1);
v[poz][v[poz].size()-1]=x;
i++;
}
else if (i<strlen(s))
{
x=0;
while (s[i]>='0' && s[i]<='9')
{
x=x*10+s[i]-'0';
i++;
}
v[poz].push_back(x);
}
}
nr=nr%v[poz].size();
if (nr==0)
{
x=v[poz][v[poz].size()-1];
v[poz].clear();
return x;
}
x=v[poz][nr-1];
v[poz].clear();
return x;
}
int main()
{
freopen("bizar.in","r",stdin);
gets(s);
n=strlen(s);
g<<eval(1,0,n-1,1);
g.close();
return 0;
}