RQNOJ系统遇到了一个程序错误。

您可以通过邮件support (at) rqnoj.cn与我们进行联系。请附错误参考编号:298820

元素融合 - 题库 - RQNOJ
PID175 / 元素融合
题目描述

  一个魔法师采集了许多元素,并放置在他特制的容器上。这个容器将所有元素从左到右放置成一行,每个元素都蕴涵着一定的能量,相同种类的元素所蕴涵的能量有可能不同。他可以施法将容器上任意3个相邻的元素融合成最左边的那种元素,这过程会将3个元素的能量共同赋予被融合的新元素,不过根据3个融合元素种类的不同,这过程也许会额外得到能量,或者损失能量,甚至有可能将能量变为负数。他所具有的手册中记载着这一切。当然,他只能将相邻3个进行融合,若手册上有记载着的不是3个元素融合的条目,你可以忽略他。在手册中没有出现的元素组合在融合时不额外得到也不损失能量。

  他希望将所有元素融合直到剩下一种元素为止,且最后剩下的一种元素能量尽可能大,于是找到你来帮忙。

  你所需要的就是找出一种方案,并告诉大家最后剩下的那个元素能具有的能量。

(附:样例说明

输入数据中,Water+Fire->-2可以视为无效条目。

Air Earth Water Water Air Air Fire Water Fire

第1次将Air Earth Water融合,成为Air且额外获得3的能量

Air Water Air Air Fire Water Fire

第2次将Air Air Fire融合,成为Air且额外获得3的能量

Air Water Air Water Fire

第3次将Air Water Fire融合,成为Air且额外获得1的能量

Air Water Air

最后将Air Water Air融合,成为Air不获得额外的能量。

加上原来所有元素所具有的能量之和20,答案为27。

输入格式

  输入文件的第1行为一个正整数N(N<200),且保证N为奇数。

  第2行包括N个元素名称,不同的元素名称代表不同的元素种类,相邻2个元素用空格分隔。保证所有输入文件中出现的元素名称首字母为大写,其余字母小写,且长度在2-10个字符之间。

  第3行包括N个非负整数p1,p2,p3,…,pn,表示对应元素所具有的能量。

  第4行包括一个正整数M(M≤250)。

  接下来M行,每行以如下格式表示

  [非负整数]元素名称+[非负整数]元素名称+…+[非负整数]元素名称->符号(+或者-)整数

  (注:“[]”中的非负整数没有前导0)

  表示“->”前这一系列元素合成起来能额外获得(当“->”后符号为“+”时)或损失(当“->”后符号为“-”时)多少能量。当元素名称前没有整数时,则代表一个这种元素,若存在一个非负整数,则代表这么多个这种元素。

  例如2Air+Earth->+2

  表示将2个Air元素与1个Earth元素进行融合能额外获得2单位的能量。

  Water+Fire+Air->-2

  表示将Water、Fire、Air这3种元素融合要损失2单位的能量。

  2Water+2Fire->-3

  由于元素超过3个,则这是个无效的条目。

  保证格式合法,且这些元素是无序的。

  在一个输入文件中,元素种类最多为12种。

输出格式

输出文件只包括1行,即最后剩下的元素所最大蕴涵的能量,保证其为正整数。

样例输入
样例输出
提交题目 Error [ 更改语言 ] Language
C C++ Pascal Python2
相关讨论
查看更多讨论
发布新讨论 讨论