Molti problemi possono essere risolti con un algoritmo greedy ricorsivo
Dato una matrice MxN
, puoi sempre trovare una matrice KxK
nell'angolo in alto a sinistra, dove K = Min(M,N)
. Se si rimuove la parte dalla matrice, si ottiene un resto. Ripeti il processo su quella matrice fino a quando non finisci gli elementi.
Un esempio di esecuzione dell'algoritmo naive:
|0 0 0 1 1| => |0 0 0| % |1 1|
|0 0 0 1 1| |0 0 0| |1 1|
|0 0 0 2 3| |0 0 0| |2 3|
C'è ancora un resto della matrice.
|1 1| => |1 1| % |2 3|
|1 1| |1 1|
|2 3|
C'è ancora un resto della matrice.
|2 3| => |2| % |3|
C'è ancora un resto della matrice.
|3| => |3| % ||
Sembra che abbiamo finito, avendo finito le matrici. Uno 3x3
, uno 2x2
, due 1x1
.
E ricorda, se elimini le soluzioni per i compiti da qualche parte senza comprenderli e senza essere in grado di motivare ciò che hai detto nel tuo rapporto, la persona che stai imbrogliando di più è te stesso.