Система управления задачами с приоритетами

Go Средний structs

Задача «Система управления задачами с приоритетами»

Разработайте программу для управления списком задач. Каждая задача описывается структурой Task с полями: ID (int), Title (string), Priority (int) и Status (string). Программа должна считывать количество задач, затем сами задачи. После этого необходимо вывести все задачи, отсортированные по приоритету (по возрастанию), а для задач с одинаковым приоритетом — по ID (по возрастанию). Выводите каждую задачу в формате: ID: Title [Priority] - Status.

Формат ввода

Первая строка: целое число N (1 ≤ N ≤ 100) — количество задач. Затем каждая из N строк содержит: ID (целое число), Title (строка без пробелов), Priority (целое число), Status (строка без пробелов), разделённые пробелом.

Формат вывода

N строк, каждая в формате: ID: Title [Priority] - Status. Строки отсортированы по приоритету (по возрастанию), при равном приоритете — по 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