点击这里更换您喜欢的皮肤wtboj 首页
请点击这里登入noios   首页 入门 c++讲义 入门教程视频 金牌教程 入门视频 站务 公告 | 题库 记录 竞测 测试 闯关 作业 排名 团队 讨论 | 换肤 | 登入 注册  
News >>   新增功能:各团队管理员可以发布本团队作业了 ()

From sina007
划分
描述 Description
    Maple博士发明了一个对表达式进行操作的函数op(i,e)。其描述如下:
  e是要操作的表达式。函数要将表达式分成若干个优先级最低的子表达式。例如:a*b+b*c+c*d经操作后变成了三个式子a*b,b*c,c*d,因为‘+’的优先级是最低的。函数先要把表达式做如上分离,再按次序取其中的第i个式子。例 如:op(2,a*b+b*c+c*d)=b*c.
  很显然,这个函数有时是层层调用的,如:
  p:=a^b*c+(d*c)^f*z+b
  op(1,op(1,op(2,p)))=(d*c)  
  op(1,op(1,op(1,op(2,p))))=d*c
  op(2,op(2,p))=z
  op(3,p)=b
  op(1,op(3,p))=b
  Maple博士很懒,他把这任务交给了你,让你编出一个程序。
  注:在本题中认为(a+b)(b+c)为合法表达式,若p:=(a+b)(b+c)则op(1,p)=a+b;而p:=(a+b)+(b+c)则op(1,p)=(a+b)
输入格式 Input Format
    数据分为两部分,第一部分是表达式(不需判错)。先是一个变量的名称,再是一个":="符号,再是表达式。
  表达式由小写字母和"+", "(", ")", "*", "^"组成。括号优先级最高,接下来就是"^",再下来是"*",再是"+"。
  下面就是要你算的几个op函数。先是函数个数n。
  下面n行是op的形式描述,由整数组成。
  例如:2 1 1表示op(1,op(1,op(2,e)))。怎样计算呢?先算op(2,e),再将结果带入下一步,算op(1,op(1,op(2,e)),再用同一方法算op(1,op(1,op(2,e)))。
输出格式 Output Format
    看样例。。。
样例输入 Sample Input
 
样例输出 Sample Output
 
注释 Hint
  英文原题
http://acm.zju.edu.cn/show_problem.php?pid=1014
来源 Source
  Tsuzuki Matsumoto
From ZJU
Flag
  
题号
  P1183
  其它
通过
  0人
提交
  0次
通过率
  0%
难度
  3
提交 讨论 题解
 Copyright wtboj © 2005-2006. www.wutuobang.date Powered by wtboj 关于 联系 帮助
 wtboj Information ---- Total Users : 1242 | Online Users / Processes : 0 / 80 | Processed Time : 43 ms | Server Time : 2025/4/27 9:03:12