Pagini recente »
test_clasa_a_6_a_baze
|
Monitorul de evaluare
|
Clasament whynot
|
Monitorul de evaluare
|
Cod sursă (job #96854)
Cod sursă (job
#96854)
#include <fstream>
using namespace std;
const int N=100001;
char v[N];
int nv;
int val[N];
int nval;
int p=0;
int Rezolva()
{
int nr=0,aux=nval,ntermeni;
//formeaza numar
while(v[p]>='0' && v[p]<='9')
{
nr=nr*10+v[p]-'0';
p++;
}
while(p<nv && v[p]=='(')
{
p++;
ntermeni=0;
while(v[p]!=')')
{
val[nval++]=Rezolva();
ntermeni++;
if(v[p]==',')
p++;
}
nval=aux;
nr%=ntermeni;
if(nr==0)
nr+=ntermeni;
nr=val[aux+nr-1];
//printf("nr=%d\n",nr);
p++;
}
return nr;
}
int main()
{
ifstream in("bizar.in");
ofstream out("bizar.out");
int i;
in.getline(v,N);
nv=0; i=0;
while(v[i])
{
if(v[i]!=' ')
v[nv++]=v[i];
i++;
}
out<<Rezolva();
return 0;
}