Mer 21 Agosto, 15:24:04 - 2019

Autore Topic: Homework 4R  (Letto 7005 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Alevix

  • Studente di Dottorato
  • ***
  • Post: 150
  • FeedBack: +7/-2
    • Mostra profilo
Re: Homework 4R
« Risposta #15 il: Mer 22 Dicembre, 17:49:30 - 2010 »
grazie mille ;)

Offline Fenice

  • Studente
  • *
  • Post: 8
  • FeedBack: +0/-0
    • Mostra profilo
Re: Homework 4R
« Risposta #16 il: Ven 24 Dicembre, 17:32:49 - 2010 »
Non mi è chiaro:

"I bordi esterni della matrice, identificati dalle celle presenti nella prima e
 ultima colonna, e prima e ultima riga, sono sempre costituite da acqua.
 Si può assumere quindi che le celle nel bordo della matrice conterranno
 sempre valore false."

Nell'esempio

.................

.####......#####.

...#.......####..

.....##.....####.

....###....#####.

...#.............

però, noto che l'ultima riga contiene true?

Come comportarsi?

Offline dimension7

  • Ricercatore
  • ****
  • Post: 443
  • FeedBack: +23/-8
    • Mostra profilo
Re: Homework 4R
« Risposta #17 il: Dom 26 Dicembre, 12:21:59 - 2010 »
Al punto 4.2 del testo dice "può contenere le eventuali classi interne relative all'ASFD richiesto". Suppongo sia un refuso rimasto dal testo dell'homework 4 vero?

Offline Stefano Millozzi

  • Prof
  • Studente di Dottorato
  • ******
  • Post: 242
  • FeedBack: +29/-51
    • Mostra profilo
Re: Homework 4R
« Risposta #18 il: Dom 26 Dicembre, 14:03:53 - 2010 »
Non mi è chiaro:

"I bordi esterni della matrice, identificati dalle celle presenti nella prima e
 ultima colonna, e prima e ultima riga, sono sempre costituite da acqua.
 Si può assumere quindi che le celle nel bordo della matrice conterranno
 sempre valore false."

Nell'esempio

.................

.####......#####.

...#.......####..

.....##.....####.

....###....#####.

...#.............

però, noto che l'ultima riga contiene true?

Come comportarsi?

L'ultima riga dell'esempio e' ovviamente errata ma dovrebbe esserci una riga finale di tutta acqua... qualcosa del genere:
.................

.####......#####.

...#.......####..

.....##.....####.

....###....#####.

...#.............
.................

Offline Stefano Millozzi

  • Prof
  • Studente di Dottorato
  • ******
  • Post: 242
  • FeedBack: +29/-51
    • Mostra profilo
Re: Homework 4R
« Risposta #19 il: Dom 26 Dicembre, 14:06:24 - 2010 »
Al punto 4.2 del testo dice "può contenere le eventuali classi interne relative all'ASFD richiesto". Suppongo sia un refuso rimasto dal testo dell'homework 4 vero?
Si assolutamente e' un refuso.
Ovviamente resta valida la possibiita' di inserire all'interno del file le classi interne di supporto eventualmente utilizzate.

Offline gengio5

  • Studente di Dottorato
  • ***
  • Post: 133
  • FeedBack: +9/-6
    • Mostra profilo
Re: Homework 4R
« Risposta #20 il: Mar 28 Dicembre, 13:16:14 - 2010 »
Sono in difficoltà :( non ho proprio idee su come farlo

Suggerimenti?

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #21 il: Mar 28 Dicembre, 13:28:38 - 2010 »
Sono in difficoltà :( non ho proprio idee su come farlo

Suggerimenti?

in effetti è molto difficile.........le difficoltà maggiori si incontrano nei casi "limite"....e non so ancora come uscirne fuori.

Fino ad oggi ho fatto solo la funzione che conta i secoli........ahi.....
Yawn è un guru in queste cose

Offline Stefano Millozzi

  • Prof
  • Studente di Dottorato
  • ******
  • Post: 242
  • FeedBack: +29/-51
    • Mostra profilo
Re: Homework 4R
« Risposta #22 il: Mer 29 Dicembre, 08:03:11 - 2010 »
Suggerimento: per scoprire un'isola l'idea e' partire da una cella di terra e spostarsi in tutte le celle contigue che sn ancora di terra.
Quando nn ci sn altre celle di terra raggiungibili l'isola e' finita e allora si ripete con un'altra cella di terra ancora nn visitata.
Somiglia vagamente ad un labirinto da visitare...

Offline gengio5

  • Studente di Dottorato
  • ***
  • Post: 133
  • FeedBack: +9/-6
    • Mostra profilo
Re: Homework 4R
« Risposta #23 il: Mer 29 Dicembre, 11:27:06 - 2010 »
Suggerimento: per scoprire un'isola l'idea e' partire da una cella di terra e spostarsi in tutte le celle contigue che sn ancora di terra.
Quando nn ci sn altre celle di terra raggiungibili l'isola e' finita e allora si ripete con un'altra cella di terra ancora nn visitata.
Somiglia vagamente ad un labirinto da visitare...

Ho pensato anch'io a questa soluzione ma ho riscontrato un errore: se ho una topografia del genere

   .......
   ...#...
.##.##.
.##.##.
   .......

Mi dà 1 isola correttamente.Ma se ne ho un'altra del genere

  .......
  .......
.##.##.
.##.##.
  ...#...
   .......
Me ne dà 2.Ho provato a cambiare le disposizioni delle celle contigue (es r+1,c+1 r-1,c-1) ma addirittura me ne riconosce di più. Il mio algoritmo mi dà solo questo errore,per altre tipi di topografia non ha problemi

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #24 il: Mer 29 Dicembre, 12:09:05 - 2010 »
Io ho quasi terminato tutto......ieri ho avuto un'illuminazione eheheh
Yawn è un guru in queste cose

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #25 il: Mer 29 Dicembre, 12:17:03 - 2010 »
Ho pensato anch'io a questa soluzione ma ho riscontrato un errore: se ho una topografia del genere

   .......
   ...#...
.##.##.
.##.##.
   .......

Mi dà 1 isola correttamente.Ma se ne ho un'altra del genere

  .......
  .......
.##.##.
.##.##.
  ...#...
   .......
Me ne dà 2.Ho provato a cambiare le disposizioni delle celle contigue (es r+1,c+1 r-1,c-1) ma addirittura me ne riconosce di più. Il mio algoritmo mi dà solo questo errore,per altre tipi di topografia non ha problemi

beh questo dipende da come hai implementato l'algoritmo......credo

ps. tu hai conteggiato una sola isola perchè tutte le "terre" sono contigue vero?
se non sbaglio ho fatto in modo che anche il mio algoritmo lo faccia.........però...........non potrebbero anche essere 3 isole diverse? anche i "mari" sono contigui (il golfo che hai creato è contiguo con il mare dell'altro lato.....non so se si sono spiegato).
Yawn è un guru in queste cose

Offline gengio5

  • Studente di Dottorato
  • ***
  • Post: 133
  • FeedBack: +9/-6
    • Mostra profilo
Re: Homework 4R
« Risposta #26 il: Mer 29 Dicembre, 13:34:13 - 2010 »
beh questo dipende da come hai implementato l'algoritmo......credo

ps. tu hai conteggiato una sola isola perchè tutte le "terre" sono contigue vero?
se non sbaglio ho fatto in modo che anche il mio algoritmo lo faccia.........però...........non potrebbero anche essere 3 isole diverse? anche i "mari" sono contigui (il golfo che hai creato è contiguo con il mare dell'altro lato.....non so se si sono spiegato).

Non ho ben capito,ma come ho detto,quello è l'unico caso in cui mi dà errore.Il resto è a posto.
Ancora però mi mancano il conteggio dei secoli e delle spiaggie più ampie: anche lì sono messo male.Nessuna idea  ;D

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #27 il: Mer 29 Dicembre, 15:46:15 - 2010 »
finalmente........FINITOOOOOOO!!!!!
Yawn è un guru in queste cose

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #28 il: Mer 29 Dicembre, 15:53:01 - 2010 »
Non ho ben capito

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.
« Ultima modifica: Mer 29 Dicembre, 15:55:07 - 2010 da Numa Pompilio »
Yawn è un guru in queste cose

Offline Numa Pompilio

  • Guru
  • Direttore di Dipartimento
  • *****
  • Post: 2750
  • FeedBack: +120/-168
    • Mostra profilo
    • New Guernica
Re: Homework 4R
« Risposta #29 il: Mer 29 Dicembre, 16:10:06 - 2010 »
Allego qualche mappa per testare il programma

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

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

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

Codice: [Seleziona]
boolean[][] n4=new boolean[][]{
            {false, false, false, false, false, false, false, false, false},
            {false, true, true, true, true, true, true, true, false},
            {false, true, true, true, true, true, true, true, false},
            {false, true, true, true, true, true, true, true, false},
            {false, true, true, true, true, true, true, true, false},
            {false, true, true, true, true, true, true, true, false},
            {false, true, true, true, true, true, true, true, false},
            {false, false, false, false, false, false, false, false, false}
};
Yawn è un guru in queste cose