Pagini recente »
Istoria paginii runda/concurs_cls6_v2/clasament
|
Istoria paginii runda/lasm_04_03_2020_cl_12_a
|
Cod sursă (job #770703)
|
Istoria paginii utilizator/kariam
|
Cod sursă (job #609375)
Cod sursă (job
#609375)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("bizar.in");
ofstream g("bizar.out");
int stiva[100010],lungime,k,paranteze[100010],kp;
char expresie[100010];
int main()
{
int i,numar,inceput;
f.getline(expresie,100001);
lungime=strlen(expresie);
k=0;
kp=0;
i=0;
while(i<lungime)
{
if(expresie[i]>='0'&&expresie[i]<='9')
{
numar=0;
while(expresie[i]>='0'&&expresie[i]<='9')
{
numar=numar*10+expresie[i]-48;
i++;
}
k++;
stiva[k]=numar;
}
if(expresie[i]=='(')
{
kp++;
paranteze[kp]=k+1;
i++;
}
if(expresie[i]==')')
{
inceput=paranteze[kp];
kp--;
if(stiva[inceput-1]%(k-inceput+1)==0)
{
stiva[inceput-1]=stiva[k];
k=inceput-1;
}
else
{
stiva[inceput-1]=stiva[inceput+(stiva[inceput-1]%(k-inceput+1))-1];
k=inceput-1;
}
i++;
}
if(expresie[i]==','||expresie[i]==' ')
i++;
}
g<<stiva[1];
}