出題者其實沒有要求極端優化
所以已寫得出程式為目的
這題就直接使用dfs就可以了
比較特別的是這題有常數 分別是歐拉數和圓周率
這邊就是確認擷取範圍已經沒有符號時就判斷是不是數值
不是數值就用字串比對是不是e或pi然後return對應的數值即可解決
這邊要做特別判斷
再來是函數我用map加上匿名函數解決
我是C++ C++switch case不能判斷字串所以用map代替
當然如果你的程式語言支援字串switch case那就用switch case比較好
原先四則運算判斷括弧是前後括弧都要存在才成立
函數我可以先判斷後括弧存在再用for迴圈尋找前括弧
從搜索範圍的第一個字元到前括弧擷取成字串再用字串比對就能知道是哪個函數
return時就要包含該函數一起return
其他寫法和四則運算dfs一樣