如何解决此编程竞赛练习?

时间:2019-05-11 14:43:33

标签: python python-3.x

我需要一些建议,因为我不知道如何解决这个问题。

https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=796

1 个答案:

答案 0 :(得分:-1)

您可以分别处理街道和大街。

对于每个方向,最佳位置都是与朋友之家的总距离最短的位置。

例如,如果您有一个名为“ homeStreets”的朋友家街道的列表,则可以遍历(总街道距离,街道编号)并选择距离最小的元组:

minDist,streetNumber = min( (sum(abs(sn-hs) for hs in homeStreets),sn) for sn in range(1,streetCount+1) )

您可以对途径使用相同的方法。