Sab 24 Agosto, 15:58:50 - 2019

Autore Topic: Homework 4R  (Letto 7006 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline gengio5

  • Studente di Dottorato
  • ***
  • Post: 133
  • FeedBack: +9/-6
    • Mostra profilo
Re: Homework 4R
« Risposta #30 il: Mer 29 Dicembre, 16:18:03 - 2010 »
Se guardi bene la tua topografia puoi notare che si possono considerare anche 3 isole (2 isole 4x4 ed una 1x1). Infatti, seppur contigue, le "terre" sono divise dal mare, contiguo anch'esso.

Esempio: (O=mare, #=terra)

   12 3 4
1 OOOO
2 O#OO
3 OO#O
4 OOOO

Si può considerare 1 singola isola perchè le 2 caselle di terra (2,2) e (3,3) sono contigue.
Però anche le caselle di mare (2,3) e (3,2) sono contigue e quindi dividerebbero l'isola in 2 isole.

Naturalmente anche il conteggio della spiaggia più lunga viene modificato. Infatti nel primo caso è 2 mentre nel secondo è 1.

Capito? questo è un caso limite che ancora non mi è chiaro come debba essere considerato

Per capire a quale delle 2 "contiguità" dare la "precedenza" aspetterei la risposta del prof.

Ok,ho capito il tuo punto di vista.Leggendo il testo mi è sembrato di interpretare quello che ti ho scritto prima,ma non è detto che sia giusto.
Ma a parte questo mi sto impiccando con gli altri 2 metodi e mi sembrano più difficili del primo!Sono in fase di resa

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #31 il: Mer 29 Dicembre, 16:28:13 - 2010 »
Ma a parte questo mi sto impiccando con gli altri 2 metodi e mi sembrano più difficili del primo!Sono in fase di resa

beh, per il conteggio delle isole vale il consiglio del prof.
Per quanto riguarda il conteggio dei secoli.........non sembra così complicato. Devi "inondare" tutte le caselle TRUE se queste confinano con l'acqua (cioè sono spiaggia). Non ti rimane che contare i cicli che hai impiegato per inondare tutta la mappa......quello è il risultato.


EDIT: Allego un main di prova, spero si possa fare :D :D :D
« Ultima modifica: Mer 29 Dicembre, 17:07:27 - 2010 da Numa Pompilio »
Yawn è un guru in queste cose

Offline gengio5

  • Studente di Dottorato
  • ***
  • Post: 133
  • FeedBack: +9/-6
    • Mostra profilo
Re: Homework 4R
« Risposta #32 il: Mer 29 Dicembre, 19:34:38 - 2010 »
beh, per il conteggio delle isole vale il consiglio del prof.
Per quanto riguarda il conteggio dei secoli.........non sembra così complicato. Devi "inondare" tutte le caselle TRUE se queste confinano con l'acqua (cioè sono spiaggia). Non ti rimane che contare i cicli che hai impiegato per inondare tutta la mappa......quello è il risultato.


EDIT: Allego un main di prova, spero si possa fare :D :D :D

Grazie!Sono riuscito a risolvere quello dei secoli.Mi rimane solo quello della spiaggia più ampia

Offline aurora

  • Studente
  • *
  • Post: 43
  • FeedBack: +1/-4
    • Mostra profilo
Re: Homework 4R
« Risposta #33 il: Mer 29 Dicembre, 20:09:40 - 2010 »
ciao Numa Pompilio,posso inviarti il mio metodo x inondare la mappa?me la inonda in un solo ciclo...uff!
grazie

Offline aurora

  • Studente
  • *
  • Post: 43
  • FeedBack: +1/-4
    • Mostra profilo
Re: Homework 4R
« Risposta #34 il: Mer 29 Dicembre, 20:14:01 - 2010 »
vale anke x te gengio...

Offline jair5

  • Studente
  • *
  • Post: 4
  • FeedBack: +1/-0
    • Mostra profilo
Re: Homework 4R
« Risposta #35 il: Mer 29 Dicembre, 21:18:55 - 2010 »
ciao ragazzi.... ho risolto quasi tutto...
il quasi è dovuto al fatto che nn riesco a distinguere le spiagge di mare da quelle di lago...
/*
Attenzione: un'isola puo' avere piu' spiagge
non contigue: ad esempio una isola con un lago interno avra' una spiaggia
confinante con il mare e una confinante con il lago e che vanno considerate
come due spiagge dierenti anche se aeriscono alla stessa isola.
*/

qualcuno ha un'idea?





« Ultima modifica: Mer 29 Dicembre, 21:20:32 - 2010 da jair5 »

Offline bruc0

  • Studente
  • *
  • Post: 22
  • FeedBack: +2/-0
    • Mostra profilo
Re: Homework 4R
« Risposta #36 il: Mer 29 Dicembre, 23:49:45 - 2010 »
vi consiglio di trasformare la mappa da boolean a int...io ad esempio ho usato 0 per la terra, 1 per l'acqua del mare e 2 per l'acqua del lago...
prima parto a riempire l'acqua del mare...il caso più facile direi dato che il bordo è sempre acqua del mare e partendo da quelle celle tutte le restanti sono contigue...poi le restanti dell'acqua sono dei laghi, nel caso ci fossero...e le rimanenti le isole...dopo aver impostato questa mappa il metodo per calcolare la spiaggia è molto più facile...;)
φ

Offline bruc0

  • Studente
  • *
  • Post: 22
  • FeedBack: +2/-0
    • Mostra profilo
Re: Homework 4R
« Risposta #37 il: Gio 30 Dicembre, 00:08:11 - 2010 »
professore...
ci saranno dei limiti di tempo di esecuzione come negli hw precedenti?
« Ultima modifica: Gio 30 Dicembre, 00:16:20 - 2010 da bruc0 »
φ

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #38 il: Gio 30 Dicembre, 02:57:56 - 2010 »
Nel caso di 1 sola isola ed 1 solo mare, è elementare

Nel caso di più di un'isola ed 1 solo mare ----------> provate ad eliminare tutte le isole ad eccezione di una (ritornate quindi al primo caso). Reiterate il processo per ogni isola della mappa

Nel caso di più di un'isola e più di 1 mare -----------> punto 2 + "prosciugare" i singoli mari (ritornate ancora una volta al primo caso).

Spero che non sia molto criptico
« Ultima modifica: Gio 30 Dicembre, 03:06:19 - 2010 da Numa Pompilio »
Yawn è un guru in queste cose

Offline bruc0

  • Studente
  • *
  • Post: 22
  • FeedBack: +2/-0
    • Mostra profilo
Re: Homework 4R
« Risposta #39 il: Gio 30 Dicembre, 03:20:32 - 2010 »
credo che il mare sia unico(non è possibile avere 2 mari...dovresti dividerli ma dato che il bordo della mappa è per forza fatto solamente da acqua è impossibile), ecco perché c'è la differenza tra il mare e i laghi...  :)
φ

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #40 il: Gio 30 Dicembre, 03:47:48 - 2010 »
credo che il mare sia unico(non è possibile avere 2 mari...dovresti dividerli ma dato che il bordo della mappa è per forza fatto solamente da acqua è impossibile), ecco perché c'è la differenza tra il mare e i laghi...  :)

mare, lago......non cambia nulla
Yawn è un guru in queste cose

Offline jair5

  • Studente
  • *
  • Post: 4
  • FeedBack: +1/-0
    • Mostra profilo
Re: Homework 4R
« Risposta #41 il: Gio 30 Dicembre, 16:20:08 - 2010 »
grazie ragazzi...mi siete stati di grande aiuto...

cmq anche io penso che il mare sia unico....
e che la spiaggia più ampia sia sempre quella che da sul mare....il lago è sempre più piccolo in quanto è interno all'isola... al massimo la spiaggia del lago ha le stesse dimensioni di quella del mare!!!


ps.  aurora penso che il tuo problema sia dovuto al fatto che utilizzi sempre la stessa topografia... e quindi in un solo passaggio la inonda tutta...prava usandone una di appoggio!!

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #42 il: Gio 30 Dicembre, 16:25:30 - 2010 »
cmq anche io penso che il mare sia unico....
e che la spiaggia più ampia sia sempre quella che da sul mare....il lago è sempre più piccolo in quanto è interno all'isola... al massimo la spiaggia del lago ha le stesse dimensioni di quella del mare!!!

se ci pensi meglio ti accorgi che non è affatto così......
se mi dai 2 minuti ti posto una topografia in cui la spiaggia più lunga è quella interna

EDIT: ecco qui, in questa topografia la spiaggia interna (lago) è più grande di quella esterna (mare)

Codice: [Seleziona]
boolean[][] n13=new boolean[][]{
{false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false},
{false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false},
{false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, true, false, true, false, true, false, true, false, false, true, true, false},
{false, true, true, false, false, false, false, false, false, false, false, false, false, true, true, false},
{false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false},
{false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false},
{false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false}
};


ps.  aurora penso che il tuo problema sia dovuto al fatto che utilizzi sempre la stessa topografia... e quindi in un solo passaggio la inonda tutta...prava usandone una di appoggio!!

esattamente
« Ultima modifica: Gio 30 Dicembre, 16:40:00 - 2010 da Numa Pompilio »
Yawn è un guru in queste cose

Offline jair5

  • Studente
  • *
  • Post: 4
  • FeedBack: +1/-0
    • Mostra profilo
Re: Homework 4R
« Risposta #43 il: Gio 30 Dicembre, 16:45:18 - 2010 »
mi sa che hai ragione tu....

questo caso mi era prorio sfuggito....

che valore ha la spiaggia più lunga in questa topografia?

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #44 il: Gio 30 Dicembre, 16:48:59 - 2010 »
che valore ha la spiaggia più lunga in questa topografia?

se non ricordo male era 128

mi sa che hai ragione tu....

questo caso mi era prorio sfuggito....

Per questo dicevo che mare o lago non ha nessuna importanza. La differenza è soltanto nel nome ;)
Yawn è un guru in queste cose