介绍
几乎每个人都熟悉旅行商问题(TSP)。任务是在给定N
城市列表的情况下,找到最小的汉密尔顿周期,这就是访问每个城市并返回到起点整圈的最短路径。这不是这个挑战的目的。挑战在于如何实现Chuck Norris 的TSP 解决方案:
查克·诺里斯(Chuck Norris)
O(1)
及时解决了旅行推销员问题:将推销员分为N个;踢每件到另一个城市。
挑战
为了以这种方式解决TSP,我们需要一个足够耐用的推销员,该推销员不会回避肢解之类的琐事。许多城市参观;一套要出售的产品;肢解的具体方法;并计算得分。
规格
- 城市
N
是我们的业务员将拜访的引用数量
- 推销员
- 主程序或功能
- 用语言写
X
- 长度
N
等于0
- 产品展示
- 肢解
- 将推销员切成
N
等长的连续片 - 每个部分都应该是有效的语言功能或程序
X
- 将推销员切成
- 输出量
- 执行后,推销员应输出
Chuck Norris
,切成薄片的每个应输出不同的产品 - 仅多余的尾随空格
- 执行后,推销员应输出
- 计分
L
推销员的长度(字节)除以城市数量(N
)的平方。Score = L/(N*N)
- 最低分获胜
- 发布十进制分数时,请包含3个有效数字
例子
- 该推销员大约访问了3个城市
N=3
,并且长度为9个L=9
。因此,此答案的分数将是S = 9 / (3 * 3) = 9/9 = 1
。- 请注意,推销员和每个切片(每个切片有3个)应该都是相同语言的有效程序或函数。
Program -> Output
------- ------
aaaBBBccc -> Chuck Norris
aaa -> Helium
BBB -> Iridium
ccc -> Tennessine
N=4
并L=20
因此S=20/16=1.25
Program -> Output
------- ------
aaaaaBBBBBcccccDDDDD -> Chuck Norris
aaaaa -> Hydrogen
BBBBB -> Cadmium
ccccc -> Mercury
DDDDD -> Iron
产出的资本化重要吗?
—
Martin Ender
@MartinEnder ^^是^是
—
NonlinearFruit
亲密的选民能否解释他们实际上不清楚的那一部分?(我知道这不仅仅是我的两个问题,我什至认为在挑战中甚至不需要明确解决这些问题,因为当我发布这些问题时已经获得了非常多的票。)
—
Martin Ender
完全同意@MartinEnder。如果您不喜欢挑战,请尝试另一个挑战。
—
edc65'9
ElementData
允许像Mathematica一样的内置函数?(我怀疑这样做会节省很多,但我不知道。)