संरचना और प्राथमिकता कतार के साथ मार्ग अनुकूलन
Swift
Hard
structs
कार्य «संरचना और प्राथमिकता कतार के साथ मार्ग अनुकूलन»
एक `Route` संरचना विकसित करें जो मार्ग को दर्शाती है, जिसमें फ़ील्ड हैं: `startCity` (String), `endCity` (String), `distance` (Int) और `priority` (Int)। `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