Pagini recente » Diferente pentru algoritmiada-2012/runda-4/10 intre reviziile 2 si 3 | Rezultatele filtrării | Cod sursa (job #1850567)
#include<bits/stdc++.h>
using namespace std;ifstream f("evaluare.in");ofstream g("evaluare.out");
int E(),T(),F(),N();char s[100010],*c;
int main(){c=s;f>>c;g<<E();return 0;}
int E(){int R=T();while(*c=='+'||*c=='-'){if(*c=='+'){c++;R+=T();}else{c++;R-=T();}}return R;}
int T(){int R=F();while(*c=='*'||*c=='/'){if(*c=='*'){c++;R*=F();}else{c++;R/=F();}}return R;}
int F(){if(*c>='0'&&*c<='9')return N();c++;int R=E();c++;return R;}
int N(){int R=0;while(*c>='0'&&*c<='9'){R=10*R+*c-'0';c++;}return R;}