Pagini recente »
Borderou de evaluare (job #144920)
|
Istoria paginii utilizator/mihnearotaru07
|
Cod sursă (job #786333)
|
Profil Rankie
|
Cod sursă (job #796398)
Cod sursă (job
#796398)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int n,m,x,y,p,t=1,fi;
char s[1000005];
vector<vector<int>>sol;
ifstream fin("bizar.in");
ofstream fout("bizar.out");
int recus(int k,int v){
if(s[k]>='0'&&s[k]<='9'){
x=x*10+s[k]-'0';
y=x;
return recus(k+1,v);
}
else if(s[k]==','){
sol[t].push_back(x);
x=0;
return recus(k+1,v);
}
else if(s[k]==' '){
return recus(k+1,v);
}
else if(s[k]=='('){
x=0;
t++;
sol.push_back(vector<int>());
x=(recus(k+1,y));
sol.pop_back();
t--;
return recus(fi+1,v);
}
else if(s[k]==')'||s[k]=='\0'){
if(x)
sol[t].push_back(x);
x=0;
p=v%sol[t].size();
fi=k;
if(p==0)p+=sol[t].size();
cout<<sol[t][p-1]<<" ";
return sol[t][p-1];
}
}
int main()
{
sol.assign(2,vector<int>());
fin.getline(s,1001);
fout<<recus(0,1);
}