نظام إدارة المهام مع الأولويات

Go Medium structs

مهمة «نظام إدارة المهام مع الأولويات»

قم بتطوير برنامج لإدارة قائمة المهام. يتم وصف كل مهمة بواسطة هيكل Task مع الحقول: ID (int)، Title (string)، Priority (int) و Status (string). يجب على البرنامج قراءة عدد المهام، ثم المهام نفسها. بعد ذلك، يجب عرض جميع المهام مرتبة حسب الأولوية (تصاعديًا)، وفي حالة المهام ذات الأولوية المتساوية، يتم ترتيبها حسب ID (تصاعديًا). اعرض كل مهمة بالتنسيق التالي: ID: Title [Priority] - Status.

تنسيق الإدخال

<html>
<body>
السطر الأول: عدد صحيح N (1 ≤ N ≤ 100) — عدد المهام. ثم كل سطر من N سطور يحتوي على: المعرف (عدد صحيح)، العنوان (سلسلة نصية بدون مسافات)، الأولوية (عدد صحيح)، الحالة (سلسلة نصية بدون مسافات)، مفصولة بمسافة.
</body>
</html>

تنسيق الإخراج

N أسطر، كل منها بالتنسيق: ID: العنوان [الأولوية] - الحالة. الأسطر مرتبة حسب الأولوية (تصاعديًا)، وفي حالة تساوي الأولوية — حسب المعرف (تصاعديًا).

أمثلة

مثال 1

الإدخال
3 1 TaskA 2 Active 2 TaskB 1 Completed 3 TaskC 2 Pending
الإخراج
2: TaskB [1] - Completed 1: TaskA [2] - Active 3: TaskC [2] - Pending

مثال 2

الإدخال
listen silent
الإخراج
YES

مثال 3

الإدخال
2 101 Alpha 5 High 102 Beta 3 Low
الإخراج
102: Beta [3] - Low 101: Alpha [5] - High

مثال 4

الإدخال
Hello Olelh
الإخراج
YES
main.go