introduzione
Clarence è un impiegato di immissione dati che lavora presso un fornitore di servizi Internet. Il suo compito è inserire manualmente gli indirizzi IP di tutti i clienti dell'ISP nel database. Lo fa usando una tastiera che ha il seguente layout:
123
456
789
.0
La distanza tra il centro dei tasti adiacenti orizzontalmente o verticalmente è esattamente di un centimetro. Ad esempio, la distanza tra i centri di 3e 9sarebbe di due centimetri. La distanza tra i centri di 3e 5sarebbe √2cm. Il teorema di Pitagora è sufficiente per calcolare la distanza tra due tasti qualsiasi.
Clarence, come ci si potrebbe aspettare da chi lavora in un ISP, utilizza un sistema di digitazione molto lento e inefficiente. Usa un solo dito e cerca il tasto, quindi sposta il dito sul tasto, poi lo preme e si ripete per tutte le cifre del numero. Potresti conoscere questo stile come il "sistema di ricerca dell'aquila" poiché il dito cerca sopra la tastiera il tasto corretto prima di immergersi per premere il tasto, come un'aquila che si abbassa per uccidere.
Ad esempio, ecco come Clarence digiterebbe il numero 7851:
- Mette il dito verso 7e preme la chiave.
- Muove il dito verso destra di 1 cm 8e preme la chiave.
- Muove il dito verso l'alto di 1 cm 5e preme la chiave.
- Muove il dito in diagonale verso l'alto e ha lasciato √2cm verso 1e preme la chiave.
Pertanto la distanza totale che Clarence mosso un dito per digitare 7851a dire 1 + 1 + √2che è di circa 3,41 centimetri.
Il tuo compito è scrivere un programma che calcoli la distanza che Clarence deve muovere con il dito per digitare indirizzi IP arbitrari.
Descrizione dell'input
L'input è una stringa che sarà nel modulo
().().().()
dove ognuno ()è un numero intero nell'intervallo 0- 999. Questo rappresenta l'indirizzo IP che Clarence deve digitare. Un esempio di input potrebbe essere:
219.45.143.143
Vorrei anche sottolineare che input come 0.42.42.42o 999.999.999.999sono ancora input validi, nonostante siano indirizzi IP non validi. Quindi non è necessario includere alcun codice di verifica dell'indirizzo IP nel programma.
Descrizione dell'uscita
Emetti la distanza che Clarence deve muovere con il dito per digitare l'indirizzo IP specificato. Round risponde a due cifre decimali ove necessario e usa l' cmunità nel tuo output. L'uscita per l'ingresso di esempio è 27.38cm(1 + √8 + √5 + 2 + 1 + √5 + 3 + 1 + √5 + √13 + 3 + 1 + √5).