Sistema de gerenciamento de tarefas com prioridades

Go Medium structs

Tarefa «Sistema de gerenciamento de tarefas com prioridades»

Desenvolva um programa para gerenciar uma lista de tarefas. Cada tarefa é descrita por uma estrutura Task com os campos: ID (int), Title (string), Priority (int) e Status (string). O programa deve ler a quantidade de tarefas e, em seguida, as próprias tarefas. Depois disso, é necessário exibir todas as tarefas ordenadas por prioridade (crescente) e, para tarefas com a mesma prioridade, por ID (crescente). Exiba cada tarefa no formato: ID: Title [Priority] - Status.

Formato de Entrada

Primeira linha: um número inteiro N (1 ≤ N ≤ 100) — a quantidade de tarefas. Em seguida, cada uma das N linhas contém: ID (número inteiro), Title (string sem espaços), Priority (número inteiro), Status (string sem espaços), separados por espaço.

Formato de Saída

N linhas, cada uma no formato: ID: Title [Priority] - Status. As linhas são ordenadas por prioridade (crescente) e, em caso de prioridade igual, por ID (crescente).

Exemplos

Exemplo 1

ENTRADA
3 1 TaskA 2 Active 2 TaskB 1 Completed 3 TaskC 2 Pending
SAÍDA
2: TaskB [1] - Completed 1: TaskA [2] - Active 3: TaskC [2] - Pending

Exemplo 2

ENTRADA
listen silent
SAÍDA
YES

Exemplo 3

ENTRADA
2 101 Alpha 5 High 102 Beta 3 Low
SAÍDA
102: Beta [3] - Low 101: Alpha [5] - High

Exemplo 4

ENTRADA
Hello Olelh
SAÍDA
YES
main.go