<div> <p>تحسين المسار باستخدام الهياكل وقائمة الانتظار ذات الأولوية</p> </div>

Swift Hard structs

مهمة «<div> <p>تحسين المسار باستخدام الهياكل وقائمة الانتظار ذات الأولوية</p> </div>»

قم بتطوير بنية `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