Quote Originariamente inviata da schumy2000 Visualizza il messaggio
Guarda nella matrice 4 4 e ottengo come dici tu una configurazione di 5 torri

* * * * 2
* - - - 1
* * - * 2
- * - * 0


Mi costruisco una matrice di oggetti Field (o come vuoi chiamarlo)
e questo oggetto Field avrà degli attributi
boolean zonainteresse;
boolean sonotorre;
boolean sonogiacontrollato;


Parto dalla prima casella ed ogni volta mi devo fare queste domande per se stesso:
ripropongo lo schema:

* * * * 2
* - - - 1
* * - * 2
- * - * 0

partendo dalla prima casella

sono zona di interesse? si
sono già controllato? no

se abbiamo questa configurazione possiamo mettere una torre e vedere se nei suoi quattro vicini c'è una zona di interesse da controllare, che non sia già controllata o già torre, se c'è setti il valore di già controllato a true del suo vicino

Passiamo alla seconda casella:
sono zona di interesse? si
sono già controllato? si

quindi possiamo passare alla terza....

Così mi risulta che:
nella terza impianto una torre
la quarta è già controllata
la quinta devo impiantare una torre con la quale controllo la nona cella
la decima metto una torre con la quale controllo la quatttordicesima cella
e stesso discorso per tra la dodicesima e la sedicesima cella

Con questo metodo ottengo 5 torri da impiantare nello schema.

Fammi sapere se hai qualche domanda.

Ciao.

grazie per la tua risposta, teoricamente ho capito il concetto ma un altra cosa è scrive il codice in JAVA, ad esempio non mi è chiaro come fare la funzione canADD o la ricorsione in questo caso