6
旅行推销员
给您一个列表或向量或其他任何东西,一堆3元组或其他任何东西,其中前两个是字符串,第三个是一个数字。字符串是城市,数字是它们之间的距离。元组中城市的顺序是任意的(即,先到先后都没关系),因为每种方式的距离相同。另外,每对连接的城市都有一个元组。并非所有城市都可以连接。而且,距离始终为正(不是0)。您不需要检查这些条件,可以假设输入格式正确。您的工作是按循环顺序返回城市,这样,如果您从任何一个城市开始,然后按顺序返回同一城市,则城市之间的总距离将最小(确切地说,总之情况。)您可以假设存在解决方案。例如,假设您被授予 [("New York", "Detroit", 2.2), ("New York", "Dillsburg", 3.7), ("Hong Kong", "Dillsburg", 4), ("Hong Kong", "Detroit", 4), ("Dillsburg", "Detroit", 9000.1), ("New York", "Hong Kong", 9000.01)] 您可以输出以下任何内容(但只需要输出一个): ["Detroit","Hong Kong","Dillsburg","New York"] ["Hong Kong","Dillsburg","New York","Detroit"] ["Dillsburg","New York","Detroit","Hong Kong"] ["New York","Detroit","Hong Kong","Dillsburg"] ["Dillsburg","Hong Kong","Detroit","New York"] ["New York","Dillsburg","Hong Kong","Detroit"] ["Detroit","New York","Dillsburg","Hong Kong"] ["Hong Kong","Detroit","New York","Dillsburg"] …