栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1138 Symbolic Derivation

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1138 Symbolic Derivation

#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<cmath>#define inf 1<<31-1using namespace std;string s;string dfs(int l,int r){    if(l>=s.size()||r<l)return string("");    for(int i=r;i>=l;i--)    {        if(s[i]==')')        { int j=i,t=0; for(;j>=l;j--) {     if(s[j]=='(')t--;     if(s[j]==')')t++;     if(t==0)break; } if(j>1&&s[j-2]=='l'&&s[j-1]=='n')i=j-3; else i=j-1;        }        if(i<l)break;        if(i==l&&(s[i]=='+'||s[i]=='-'))continue;        if(s[i]=='-'||s[i]=='+')        { string tl=dfs(l,i-1); string tr=dfs(i+1,r); char tem=s[i]; if(tr[0]=='-') {     if(s[i]=='+')tem='';     else{tem='+';tr.erase(tr.begin());} } return tl+tem+tr;        }    }    for(int i=r;i>=l;i--)    {        if(s[i]==')')        { int j=i,t=0; for(;j>=l;j--) {     if(s[j]=='(')t--;     if(s[j]==')')t++;     if(t==0)break; } if(j>1&&s[j-2]=='l'&&s[j-1]=='n')i=j-3; else i=j-1;        }        if(i<l)break;        if(s[i]=='*')        { string tl=dfs(l,i-1); string tr=dfs(i+1,r); string sl=s.substr(l,i-l); string sr=s.substr(i+1,r-i); if(sl[0]=='-')return '('+tl+'*'+sr+sl+'*'+tr+')'; return '('+tl+'*'+sr+'+'+sl+'*'+tr+')';        }        else if(s[i]=='/')        { string tl=dfs(l,i-1); string tr=dfs(i+1,r); string sl=s.substr(l,i-l); string sr=s.substr(i+1,r-i); char tem='-'; if(sl[0]=='-'){tem='+';sl.erase(sl.begin());} return '('+tl+'*'+sr+tem+sl+'*'+tr+')'+'/'+sr+"^2";        }    }    if(l==r&&s[l]=='x')return string("1");    else if(s[l]=='('&&s[r]==')')    {        return '('+dfs(l+1,r-1)+')';    }    else if(s[l]=='l'&&s[l+1]=='n')    {        return '('+dfs(l+3,r-1)+")/"+'('+s.substr(l+3,r-l-3)+')';    }    else    {        return string("0");    }}int main(){    int cas=1;    while(cin>>s)    {        cout<<dfs(0,s.size()-1)<<endl;    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367367.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号