La Màquina de Comprimir Notes


Enviar solució

Punts: 7 (parcial)
Temps Límit: 1.0s
Límit de memòria: 64M

Autor/a:
tipus del problema
Arrays/Llistes
Categoria
Lliga de Programació FP
Llenguatges permesos
Bash, C#, C++, Haskell, Java, Kotlin, PHP, Python

compress

El Marc vol comprimir les seves notes d'accés a dades perquè tothom li treu 4s. Per exemple, si un alumne té [5, 5, 5, 7, 7, 3], es pot comprimir com [3, 5, 2, 7, 1, 3] que vol dir "3 cincs, 2 sets, 1 tres".

Però aquí ve el problema: a vegada la compressió pot fer que la llista sigui més llarga que l'original! Per exemple [5, 7, 3] es comprimiria com [1, 5, 1, 7, 1, 3] que és més llarg.

El teu programa ha de comprimir la llista NOMÉS si després de comprimir queda més curta o igual. Si queda més llarga, deixa-la tal qual.

Entrada

La primera línia indica els casos de prova a considerar.

Cada cas de prova és una línia amb números enters separats per espais. El primer número N indica quants números hi ha a la llista, seguit dels N números de la llista (entre 0 i 10).

Sortida

Per cada cas de prova, mostrar la llista resultant (comprimida o original segons convingui) en format estàndard de llista.

Exemple d'Entrada

5
6 5 5 5 7 7 3
3 5 7 3
8 2 2 2 2 3 3 3 3
9 4 4 4 5 5 5 4 4 4
5 1 1 1 1 1

Exemple de Sortida

[3, 5, 2, 7, 1, 3]
[5, 7, 3]
[4, 2, 4, 3]
[3, 4, 3, 5, 3, 4]
[5, 1]

Explicació

Cas 1: [5, 5, 5, 7, 7, 3] → Comprimida: [3, 5, 2, 7, 1, 3] (6 elements → 6 elements, igual, comprimim)

Cas 2: [5, 7, 3] → Comprimida seria: [1, 5, 1, 7, 1, 3] (3 → 6 elements, més llarga, NO comprimim)

Cas 3: [2, 2, 2, 2, 3, 3, 3, 3] → Comprimida: [4, 2, 4, 3] (8 → 4 elements, més curta, comprimim)

Cas 4: [9, 4, 4, 4, 5, 5, 5, 4, 4, 4] → Comprimida: [3, 4, 3, 5, 3, 4] (9 → 6 elements, més curta, comprimim, els 4s son seqüències separades perquè estan separades pels 5s)

Cas 5: [1, 1, 1, 1, 1] → Comprimida: [5, 1] (5 → 2 elements, més curta, comprimim)


Comentaris

En aquests moments no hi ha comentaris.