【发布时间】:2012-11-05 11:00:01
【问题描述】:
给你三样东西
1) 一个由“n”个正整数和负整数组成的数组。 2) 数字“x”。 3) 运算符:'+'、'-'、'%'、'/'
用数组形成一个表达式,这样当你计算它时,结果会变成'x'。
例如,考虑数组 [5,3,-1,6,2,3] 和 x=2,一种可能的解决方案是
5 / 3 + (-1) + 6 / 2 - 1
假设 5 / 3 的结果是 1(总是整数除法)。
我有一个更复杂的变体。
在这个问题的复杂变体中,假设 BODMASS 规则不适用。因此,在任何时候,您都遍历了元素“m”,并且得到了中间结果“y”。您可以将任何运算符应用于 'y' 和 a[m + 1]。
例如,在变体 1 中,
5 + 3 - 2 / 2 = 7(首先计算 2 / 2,所以 5 + 3 - 1)
在变体 2 中,
5 + 3 - 2 / 2 = 3(5 + 3 = 8。数组减少到 8 - 2 / 2。现在,8 -2 = 6。数组减少到 6 / 2,计算结果为 3)。
算法/数学/DS 专家?
这是一个 NP 难吗?
【问题讨论】:
标签: algorithm math data-structures np np-hard