使用结构和优先队列优化路线
Swift
Hard
structs
任务 «使用结构和优先队列优化路线»
开发一个表示路线的结构体 `Route`,包含以下字段:`startCity`(字符串)、`endCity`(字符串)、`distance`(整数)和 `priority`(整数)。实现函数 `optimizeRoutes`,该函数接收一个路线数组,并返回按距离升序排序的路线数组,若距离相同则按优先级降序排序。然后,对于每条路线,按以下格式输出其描述:"{startCity} -> {endCity}: {distance} km (priority {priority})"。如果数组为空,则输出 "No routes"。仅使用结构体和内置排序算法,不使用类。
输入格式
第一行包含一个整数 N (1 ≤ N ≤ 100) — 表示路线数量。接下来有 N 行,每行包含四个由空格分隔的值:startCity(不含空格的字符串,最多20个字符)、endCity(不含空格的字符串,最多20个字符)、distance(1到10000之间的整数)、priority(1到100之间的整数)。
输出格式
输出 N 行,每行格式为 "{startCity} -> {endCity}: {distance} km (priority {priority})",按规则排序。如果 N=0,则输出 "No routes"。
示例
示例 1
输入
3
X Y 1000 10
Y Z 500 10
Z X 750 10
输出
Y -> Z: 500 km (priority 10)
Z -> X: 750 km (priority 10)
X -> Y: 1000 km (priority 10)
示例 2
输入
1
Start End 1 100
输出
Start -> End: 1 km (priority 100)
main.swift