这是一个朋友最近问我的一个有趣的问题/谜语:
你正在画网球场的线条。你有一台可以画直线的机器,但是一旦打开,你就无法停止它,直到工作完成。显然,您将需要两次遍历某些行。您必须使用的最少额外油漆量是多少,以英尺为单位?
法院的尺寸:
所有线路的总和为 480 英尺。我碰巧知道答案是多出 63 英尺(总共 543 英尺),但我不禁想知道解决这个问题的最佳算法是什么。
这似乎类似于旅行推销员问题,其中球场上的每条线都由图中的一个顶点表示,并且球场线的交汇点转换为边。(否则,如果线是边,角是顶点,则需要一条穿过所有边的路径,而我不知道有任何算法)。也许您需要更聪明地了解如何表示线的连接点,我对此有一些想法,但还没有真正奏效。
不过,我认为问题足够小,可以对通过折线图的所有路径进行强力检查。你会如何编码?