#24347: NA 10% 求解


yp10871039 ( )

學校 : 臺北市私立延平高級中學
編號 : 104506
來源 : [111.241.151.42]
最後登入時間 :
2024-05-05 15:21:24
f640. 函數運算式求值 -- APCS201902程式實作題3 | From: [36.228.98.131] | 發表日期 : 2021-02-08 15:15

#include <iostream>

using namespace std;

int f(int x){return (x<<1)-3;}

int g(int x,int y){return (x<<1)+y-7;}

int h(int x,int y,int z){return (x<<1)+x-(y<<1)+z;}

string s;

/*inline int poww(int n){

return n?(poww(n-1)<<3)+(poww(n-1)<<1):1;

}

int tran(string s){

    int k=s.size(),i=k-1,sum=0,n=0;

if(s[0]=='-') s.erase(0,0),n=1;

for(;i>=0;--i)

sum+=(s[i]-'0')*poww(k-i-1);

return n?-sum:sum;

}*/

int r(){

cin>>s;

if(s=="f") return f(r());

else if(s=="g") return g(r(),r());

else if(s=="h") return h(r(),r(),r());

else return stoi(s);

int main(){

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

cout<<r();

}

 

不知道問題出在哪裡

 
#24374: Re:NA 10% 求解


IanWang20061204 (詭譎)

學校 : 臺北市立建國高級中學
編號 : 95399
來源 : [111.248.240.176]
最後登入時間 :
2024-05-05 20:16:00
f640. 函數運算式求值 -- APCS201902程式實作題3 | From: [61.231.165.173] | 發表日期 : 2021-02-10 08:30

原文吃掉啦

不知道ㄟ,但把他從函數改成直接return答案就會過了

#include <iostream>

using namespace std;

 

string s;

 

int r(){

cin>>s;

if(s=="f") return r()*2-3;

else if(s=="g") return r()*2+r()-7;

else if(s=="h") return r()*3-r()*2+r();

else return stoi(s);} 

 

int main(){

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

cout<<r();}

 

會不會是跟溢位有關?

 
ZeroJudge Forum