Pagini recente »
Istoria paginii utilizator/dorinpuscasu
|
Istoria paginii runda/prega_oji2016_vi_runda5
|
Istoria paginii runda/cupa_vianu23
|
Cod sursă (job #152927)
|
Cod sursă (job #152925)
Cod sursă (job
#152925)
#include <cstdio>
#include <cctype>
using namespace std;
char s[100005];
int poz;
int findnr(){
int nr=0;
while(!isdigit(s[poz])){
poz++;
}
while(isdigit(s[poz])){
nr*=10;
nr+=s[poz];
nr-='0';
poz++;
}
return nr;
}
int solve(){
int nr,k=0,x,v[50005];
x=findnr();
if(s[poz]=='('){
while(s[poz]=='('){
do{
v[++k]=solve();
}while(s[poz]!=')');
poz++;
x%=k;
if(x==0){
nr=v[k];
}
else{
nr=v[x];
}
x=nr;
k=0;
}
}
else{
nr=x;
}
return nr;
}
int main()
{
freopen("bizar.in","r",stdin);
freopen("bizar.out","w",stdout);
int n=0;
char c;
do{
c=getc(stdin);
if(c!=' '){
s[n++]=c;
}
}while(c!='\n');
printf("%d\n",solve());
return 0;
}