Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

HW7 opz sipegazione e modus operandi

Tommaso Sgroi (12990 points)
10 11 91
in HW7 opzionale by (13.0k points)
recategorized by

Non ho ben capito la traccia dell'homework 7, mi ha lasciato un po' perplesso e non sono sicuro di averla compresa appieno.

Quindi le mie domande sono: 

  1. Cosa chiede effettivamente la traccia?
  2. Su cosa dovremmo ragionare per iniziare a strutturare un algoritmo valido?
542 views
closed

2 Answers

Best answer
E
Edward (25950 points)
3 4 172
by (26.0k points)
selected by

Se guardi il file albero1.pdf forse ti viene più semplice capire cosa devi fare.
Comunque c'è una stringa contenente degli interi separati da uno spazio.
Tu devi andare ad eliminare tutte le coppie di numeri che si ripetono, e restituire tutte le stringhe più piccole che non hanno numeri che si ripetono (in un insieme)

Ad esempio se hai la stringa:
'1 0 1 2 5'
L'1 si ripete, quindi se rimuovi quella coppia ottieni: '0 2 5'
In questa stringa non ci sono numeri che si ripetono, quindi va aggiunta all'insieme dei risultati (con questo input il risultato sarebbe solo questo);

Altro esempio, hai la stringa:
'1 2 1 5 1'
Qui ci sono 3 coppie di 1 che si ripetono, quindi otterrai tre 'sottostringhe':
'2 5 1' rimuovendo la coppia in rosso: '1 2 1 5 1';
'2 1 5' rimuovendo la coppia in rosso: '1 2 1 5 1';
'1 2 5' rimuovendo la coppia in rosso: '1 2 1 5 1';
Queste tre stringhe non hanno numeri che si ripetono, quindi vanno aggiunte all'insieme dei risultati.

Tommaso Sgroi (12990 points)
10 11 91
by (13.0k points)
Grazie mille :)
E
Edward (25950 points)
3 4 172
by (26.0k points)
Di nulla, ovviamente ogni volta che vai a rimuovere una coppia, possono esserci dentro altre coppie di numeri che si ripetono, quindi devi ripetere il procedimento (ed è qui che si crea la ricorsione).
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Domani a lezione vediamo gli alberi di gioco (di cui questo è un esempio)
Tommaso Sgroi (12990 points)
10 11 91
by (13.0k points)
Perfetto, grazie professore !