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.

Idee su come trovare la parola finale dell'HW2 ES1

gian- (1170 points)
1 7 17
in Es1 by (1.2k points)
Ho 8 liste di stringhe (2 per le orizzontali, 2 per le verticale e 4 per le oblique).

Alcune di queste stringhe hanno degli spazi vuoti poiché ho sostituito la parola trovata con questi spazi.

Ora non mi rimane che ''' unire ''' le cancellature di tutte e 8 le liste per trovare la parola finale.

Tuttavia dovrei riconvertire le 7 liste di stringhe (orizzontale al contrario, verticale, verticale al contrario, obliqua ecc.)  nell'ordine della stringa orizzontale, e ciò mi sembra abbastanza complesso.

Ci sono idee migliori ( e più facili) per concludere il primo esercizio?
703 views

4 Answers

a
ares.angeloni (1060 points)
10 24 37
by (1.1k points)
hai tutta la tabella all interno di ogni lista, sebbene con gli spazi?
gian- (1170 points)
1 7 17
by (1.2k points)
No.

All'intero di ogni lista ho tutte le stringhe (senza spazi, li ho eliminati all'inizio) possibili per ogni scorrimento.

Quindi nella lista orizzontali ho tutte le parole orizzontali, in quella verticali tutte quelle verticali e in quella obliqua ho tutte le parole oblique possibili.. anche le contrarie.
Shunk (6140 points)
8 26 86
by (6.1k points)
Creati una matrice di supporto su cui eliminare le lettere che però controlli nella matrice principale
gian- (1170 points)
1 7 17
by (1.2k points)
Si, però devo comunque convertire le liste di stringhe (tutte e 7) in liste di stringhe che contengono le righe orizzontali del diagramma..no?

Quindi per esempio in quello obliquo avrò [ ‘AR’, ‘ABC’ , ‘OS’ ‘P’] ... prendo solo ‘OS’ ‘P’. Questo devo sostituirlo in quello originale. Però quello originale ha le parole in orizzontale, mentre ‘OS’ ‘P’ è una parola obliqua.. quindi devo convertirla
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)
Il concetto è giusto, ma quando scrivi nelle 8 liste le possibili combinazioni di stringhe devi necessariamente memorizzare anche le relative coordinate quindi perché non memorizzare il tutto in un unico dizionario del tipo: diz['str'] =coordinate?
Ti resterebbe da fare solo ricerca parole e restituzione coordinate non associato ad alcuna parola...
gian- (1170 points)
1 7 17
by (1.2k points)

provo così, grazie mille ! wink

l
lupodellasleppa (530 points)
1 2 6
by (530 points)
ti sconsiglio l'uso di dizionari, va bene per i primi file da testare, ma incorrerai in un problema quando arriverai agli ultimi tre, quelli che usano i file precedenti ripetuti 4 volte.

rimane il fatto che devi comunque tenere memorizzate le coordinate, per poter poi da quelle scorrere sulla matrice e segnare nella maniera che ritieni più opportuna tutte le lettere appartenenti a parole trovate.

alla fine scorri di nuovo tutta la matrice, tenendo conto solo delle lettere "non segnate", et voilà
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)
Non conosco i tuoi tempi ma io rientro in 0, 5 sec totali. Ho usati 2 dizionari. Molto dipende da algoritmo.