In effetti non viene fornita alcuna informazione specifica su quando o perché una persona possa decidere di dividere il proprio terreno. Leggendo la consegna quel che ho capito è questo: una possibile logica potrebbe essere quella di dividere il terreno solo quando c'è una richiesta da parte di qualcuno interessato ad affittarlo. In questo modo, ogni proprietario potrebbe suddividere il terreno solo quando c'è una richiesta effettiva e non dovrebbe preoccuparsi di dividere il terreno senza alcun motivo quindi devi sostanzialmete scrivere un programma in grado di contare il numero di proprietà all'interno dell'immagine, indipendentemente dalle motivazioni o dalle decisioni che hanno portato alla suddivisione del terreno.
E dato che ogni proprietario può decidere se suddividere il proprio terreno o meno, indipendentemente dalle decisioni prese dagli altri proprietari. Il tuo programma dovrà essere in grado di gestire questa indipendenza delle decisioni, ovvero dovrà essere in grado di contare correttamente il numero di proprietà anche se alcuni proprietari decidono di suddividere il loro terreno mentre altri no.
Potresti gestire questa indipendenza delle decisioni utilizzando una funzione ricorsiva, l'idea è quella di creare una funzione che, data appunto l'immagine fornita, verifichi se ci sono linee di demarcazione all'interno dell'immagine. Se non ci sono, la funzione restituisce 1, poiché significa che c'è una sola proprietà (quella rappresentata dall'immagine). Se invece ci sono linee di demarcazione, significa che l'immagine rappresenta più di una proprietà e devi contare quante proprietà ci sono in totale. Per farlo, puoi suddividere l'immagine in quattro sottosezioni, utilizzando le linee di demarcazione come confine, e chiamare ricorsivamente la funzione su ciascuna di queste sottosezioni. In questo modo, puoi continuare a scendere nella struttura gerarchica dell'immagine fino a raggiungere le proprietà più piccole.
Secondo me in questo modo il programma dovrebbe essere in grado di contare nel modo giusto il numero di proprietà indipendentemente dalle decisioni individuali prese dai vari proprietari.
umh umh devo leggerlo meglio ora mi verrebbe solo in mente di farlo così
inizializzo un count
Inizializzo la lista dei colori di output con il colore del background dell'immagine
Controllo se ci sono linee di demarcazione nell'immagine
Se ci sono linee, suddivido l'immagine in quattro sottosezioni
Per ogni sottosezione, chiamo ricorsivamente la funzione
Aggiorno il count
Aggiungo i colori di output della sottosezione alla lista
se non ci sono linee, significa che c'è una sola proprietà
aggiorno il count
faccio return
poi in un altra funzione credo proprio ex1 di richiamare la funzione ricorsiva per contare il numero di proprietà e costruire la lista dei colori per l'output
ma in effetti in base a cosa sto dividendo il terreno? umh ci penso e nel caso edito