Pagini recente »
Borderou de evaluare (job #291205)
|
Istoria paginii runda/2021-01-22-clasa-6-tema-20/clasament
|
Istoria paginii runda/2022-02-25-clasa-6-tema-18/clasament
|
Borderou de evaluare (job #754967)
|
Cod sursă (job #433309)
Cod sursă (job
#433309)
#include <fstream>
#include <cstring>
#define NM 100006
using namespace std;
ifstream f("bizar.in");
ofstream g("bizar.out");
int i,n,nr,poz,m,r,x,j;
int a[NM],pr[NM];
char s[NM];
int main()
{
f.get(s,NM);
i=0; n=strlen(s);
while(i<n){
if(s[i]>='0'&&s[i]<='9'){
nr=0;
while(s[i]>='0'&&s[i]<='9'){ nr=nr*10+(s[i]-'0'); i++; }
a[++a[0]]=nr; i--;
} else
if(s[i]=='('){ pr[++pr[0]]=a[0]+1; }
else
if(s[i]==')'){
poz=pr[pr[0]--];
m=a[0]-poz+1; r=a[poz-1]%m;
if(r==0) x=a[a[0]];
else x=a[r+poz-1];
a[0]=poz-1; a[a[0]]=x;
}
i++;
}
g<<a[a[0]]<<'\n';
return 0;
}