Forum Informatica Unict

Area Studenti => L'angolo del tecnico => Topic started by: lello84 on 19-03-2013, 16:59:59



Title: Esercizio da svolgere in Java o Php mi date una mano?
Post by: lello84 on 19-03-2013, 16:59:59
come vorrei svolgere questo esercizio solo che sto riscontrando qualche difficoltà...qualcuno di voi può aiutarmi? il linguaggio da utilizzare può essere java o php.

Testo:

Date due parole di uguale lunghezza, ad esempio “HEAD” e “TAIL”, crea un algoritmo che  trovi una sequenza di parole che inizi con “HEAD” e finisca con “TAIL” tale che:
la sequenza sia la piu’ breve
ogni parola usata sia nel vocabolario allegato
ogni parola sia uguale alla precedente a meno di una lettera

Il programma:
Funziona per qualsiasi coppia di parole di 4 lettere
Prende in input due parole a command line
Da in output la sequenza di parole una per linea

Esempio (le lettere modificate sono in maiuscolo):
    $ ./soluzione head tail
  head
  heaL
  Teal
  teLl
  tAll
  taIl

grazie in anticipo  :-OK


Title: Re:Esercizio da svolgere in Java o Php mi date una mano?
Post by: LtWorf on 29-03-2013, 17:36:26
Se non hai restrizioni sulla complessità puoi fare la seguente:

definisci una funzione distanza che ti dia +1 per ogni lettera differente, tipo cat e mat hanno distanza 1, mentre cat e dog hanno distanza 3.

Calcola la distanza tra la prima parola e l'ultima, cerca nel dizionario una parola con distanza 1 dalla tua parola iniziale, e con distanza minore di quella della parola iniziale dalla parola finale, e poi la scegli, e iteri usandola come prima parola.

Secondo me dovrebbe funzionare.