Système de gestion de tâches avec priorités

Go Medium structs

Tâche «Système de gestion de tâches avec priorités»

Développez un programme pour gérer une liste de tâches. Chaque tâche est décrite par une structure Task avec les champs : ID (int), Title (string), Priority (int) et Status (string). Le programme doit lire le nombre de tâches, puis les tâches elles-mêmes. Ensuite, il faut afficher toutes les tâches triées par priorité (par ordre croissant), et pour les tâches ayant la même priorité, par ID (par ordre croissant). Affichez chaque tâche au format : ID: Title [Priority] - Status.

Format d\ entrée

Première ligne : un entier N (1 ≤ N ≤ 100) — le nombre de tâches. Ensuite, chacune des N lignes contient : ID (entier), Title (chaîne sans espaces), Priority (entier), Status (chaîne sans espaces), séparés par un espace.

Format de sortie

N lignes, chacune au format : ID: Title [Priority] - Status. Les lignes sont triées par priorité (par ordre croissant), et à priorité égale, par ID (par ordre croissant).

Exemples

Exemple 1

ENTRÉE
3 1 TaskA 2 Active 2 TaskB 1 Completed 3 TaskC 2 Pending
SORTIE
2: TaskB [1] - Completed 1: TaskA [2] - Active 3: TaskC [2] - Pending

Exemple 2

ENTRÉE
listen silent
SORTIE
YES

Exemple 3

ENTRÉE
2 101 Alpha 5 High 102 Beta 3 Low
SORTIE
102: Beta [3] - Low 101: Alpha [5] - High

Exemple 4

ENTRÉE
Hello Olelh
SORTIE
YES
main.go