Pagini recente »
Statistici Cosmin Mihai (TheDarkOne)
|
Statistici Hulubei Tudor (Tudol)
|
Istoria paginii utilizator/dgriga
|
Statistici Voicu Gabriel-Alin (GaBr0)
|
Cod sursă (job #438440)
Cod sursă (job
#438440)
#include <fstream>
#define FILE_NAME "bizar"
using namespace std;
ifstream in (FILE_NAME".in");
ofstream out (FILE_NAME".out");
const int N_MAX = 100005;
int K;
char s[N_MAX];
int st[N_MAX], top;
void trim() {
for (int i = 0; s[i]; ++i)
if (!isspace(s[i]))
s[K++] = s[i];
s[K] = '\0';
}
void solve() {
for (int i = 0; i < K; ++i) {
if (isdigit(s[i])) {
int val = 0;
while (isdigit(s[i]))
val = val * 10 + s[i++] - '0';
st[++top] = val;
--i;
} else if (s[i] == '(') {
st[++top] = -1;
} else if (s[i] == ')') {
int lg = 0;
while (st[top] != -1) {
--top;
++lg;
}
if (st[top - 1] % lg == 0)
st[top - 1] = st[top + lg];
else
st[top - 1] = st[top + st[top - 1] % lg];
--top;
}
}
}
int main() {
in.getline(s, N_MAX);
trim();
solve();
out << st[1];
}