Dato un elenco non ordinato di interi univoci strettamente positivi, ordinalo minimamente in una matrice 2D. L'elenco di input è garantito per essere di lunghezza composita, il che significa che la matrice di output non è necessariamente quadrata, ma è di dimensioni n x m
con n,m > 1
.
"Ordinamento minimo" qui significa quanto segue:
- Ordina l'elenco in ordine crescente.
- Compattare la matrice di uscita il più possibile - minimizzare la somma delle dimensioni della matrice (ad esempio, per
20
elementi di input come input, una5x4
o4x5
è necessaria matrice di uscita, e non2x10
). - Compatta i numeri ordinati il più possibile nella parte superiore sinistra della matrice, iniziando dal primo elemento nell'elenco ordinato.
- Questo può essere pensato come l'ordinamento dell'elenco, quindi tagliandolo lungo le anti-diagonali della matrice, iniziando dalla parte superiore sinistra.
Esempi:
Per l' 1..20
output di input è una matrice 5x4 o 4x5 come segue:
1 2 4 7 11
3 5 8 12 15
6 9 13 16 18
10 14 17 19 20
1 2 4 7
3 5 8 11
6 9 12 15
10 13 16 18
14 17 19 20
Per l'ingresso in [3, 5, 12, 9, 6, 11]
uscita è un 2x3 o 3x2 come segue
3 5 9
6 11 12
3 5
6 9
11 12
Per input [14, 20, 200, 33, 12, 1, 7, 99, 58]
, output è un 3x3 come segue
1 7 14
12 20 58
33 99 200
Per l'ingresso 1..10
l'uscita deve essere un 2x5 o 5x2 come segue
1 2 4 6 8
3 5 7 9 10
1 2
3 4
5 6
7 8
9 10
Per l'ingresso in [5, 9, 33, 65, 12, 7, 80, 42, 48, 30, 11, 57, 69, 92, 91]
uscita è un 5x3 o 3x5 come segue
5 7 11 33 57
9 12 42 65 80
30 48 69 91 92
5 7 11
9 12 33
30 42 57
48 65 80
69 91 92
Regole
- Si può presumere che l'input si adatti al tipo intero nativo della tua lingua.
- L'input e l'output possono essere forniti con qualsiasi metodo conveniente .
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
15
test case element.