#dwango2017finala. [dwango2017final_a]計算ドリル

[dwango2017final_a]計算ドリル

Nico Nico TV 决定做一个简单的计算作为脑筋急转弯。 顺便说一句,Nico Nico TV 不是人,所以我们只能使用逆波兰符号来计算。

具体来说,对由0到9,-,+组成的字符串SS按照以下规则进行计算:

  • 首先,考虑您在开始时有1个空的、无限长的堆栈。 然后,从前面看字符串 SS

  • 如果出现 0 到 9,只需将它们堆叠在堆栈上即可。

  • 如果出现 +,则从堆栈中删除一个 aa 并删除另一个 bb 。 然后将 b+ab + a 放入堆栈。

  • 如果出现-,则从堆栈中删除一个 aa 并删除另一个 bb。 然后将 bab-a 放入堆栈。

  • 最后,如果堆栈最后为 1 个数,那就是答案。

  • 如果 SS 不是 11 或者如果您尝试在中间检索它但堆栈为空,则 SS 不是正确的表达式。

Nico Nico TV适当地写了字符串 SS。 另一方面,只是计算很无聊,所以我决定解决以下问题:

  • 是否可以将此字符串重写为 KK 个字符以使其成为正确的表达式? 另外,如果可能的话,正确公式中计算出的答案的最大值是多少?

但这太难了,所以请帮我解决它。