Laboratorio di Algoritmi e Strutture Dati

Progetto “Natale a Flatlandia”: altri esempi

Una consegna alternativa

  1. Condizione iniziale
0123456
<<<>><<
  1. Babbo Natale sceglie 2 e consegna 2 regali al Triangolo 2
0123456
  *
  *
<<<>><<
  1. Il Triangolo 2 condivide il suo regalo con il triangolo che ha di fronte, siccome sta guardando a sinistra, lo consegna a 1
0123456
 **
<<<>><<
  1. Il Triangolo 1 e il Triangolo 2 vanno a giocare fuori dalla fila
0123456
<  >><<
  1. Babbo Natale sceglie 3 e consegna 2 regali al Triangolo 3
0123456
   *
   *
<  >><<
  1. Il Triangolo 3 condivide il suo regalo con il triangolo che ha di fronte, siccome sta guardando a destra, lo consegna a 4
0123456
   **
<  >><<
  1. Il Triangolo 3 e il Triangolo 4 vanno a giocare fuori dalla fila
0123456
<    <<
  1. A questo punto, Babbo Natale può scegliere solo 5 e consegnare 2 regali al Triangolo 5
0123456
     *
     *
<    <<
  1. Il Triangolo 5 condivide il suo regalo con il triangolo che ha di fronte, siccome sta guardando a sinistra, lo consegna a 0
0123456
*    *
<    <<
  1. Il Triangolo 0 e il Triangolo 5 vanno a giocare fuori dalla fila:
0123456
      <
  1. L’unico rimasto da solo è il Triangolo 6
0123456
      <

Soluzioni per tutti i possibili input di lunghezza 3

Ci sono 8 possibili combinazioni per l’input di lunghezza 3:

Casi in cui il triangolo centrale guarda a sinistra:

  1. input.txt    output.txt
    3            1
    sss          2
    
  2. input.txt    output.txt
    3            1
    dss          2
    
  3. input.txt    output.txt
    3            1
    ssd          2
    
  4. input.txt    output.txt
    3            1
    dsd          2
    

Casi in cui il triangolo centrale guarda a destra:

  1. input.txt    output.txt
    3            1
    sds          0
    
  2. input.txt    output.txt
    3            1
    sdd          0
    
  3. input.txt    output.txt
    3            1
    dds          0
    
  4. input.txt    output.txt
    3            1
    ddd          0