Introducción
Clarence es un empleado de entrada de datos que trabaja en un proveedor de servicios de internet. Su trabajo es ingresar manualmente las direcciones IP de todos los clientes del ISP en la base de datos. Lo hace usando un teclado que tiene el siguiente diseño:
1
2
3
4
5
6
7
8
9
.
0
La distancia entre el centro de las teclas adyacentes horizontal o verticalmente es exactamente un centímetro. Por ejemplo, la distancia entre los centros de 3y 9sería dos centímetros. La distancia entre los centros de 3y 5sería √2cm. El teorema de Pitágoras es suficiente para calcular la distancia entre dos claves.
Clarence, como es de esperar de alguien que trabaja en un ISP, utiliza un sistema de escritura muy lento e ineficiente. Utiliza un solo dedo y busca la tecla, luego mueve el dedo hacia la tecla, luego la presiona y repite todos los dígitos del número. Es posible que conozca este estilo como el "sistema de búsqueda de águilas", ya que el dedo busca por encima del teclado la tecla correcta antes de presionar la tecla, como un águila que cae para matar.
Por ejemplo, así es como Clarence escribiría el número 7851
:
- Empieza su dedo 7y empuja la llave.
- Mueve su dedo hacia la derecha 1 cm 8y empuja la tecla.
- Mueve su dedo hacia arriba 1 cm 5y empuja la tecla.
- Mueve su dedo diagonalmente hacia arriba y hacia la izquierda √2cm 1y empuja la tecla.
Por lo tanto la distancia total que Clarence movió su dedo para escribir 7851
es 1 + 1 + √2
que es aproximadamente 3.41cm.
Su tarea es escribir un programa que calcule la distancia que Clarence debe mover su dedo para escribir direcciones IP arbitrarias.
Descripción de entrada
La entrada es una cadena que tendrá el formato
().().().()
donde cada uno ()
es un entero en el rango 0
- 999
. Esto representa la dirección IP que Clarence debe escribir. Una entrada de ejemplo podría ser:
219.45.143.143
También me gustaría señalar que las entradas como 0.42.42.42
o 999.999.999.999
son entradas válidas, a pesar de que son direcciones IP no válidas. Por lo tanto, no necesita incluir ningún código de verificación de dirección IP en su programa.
Descripción de salida
Muestra la distancia que Clarence debe mover su dedo para escribir la dirección IP especificada. Redondea las respuestas a dos decimales cuando sea necesario, y usa la cm
unidad en tu salida. La salida para la entrada de ejemplo es 27.38cm
(1 + √8 + √5 + 2 + 1 + √5 + 3 + 1 + √5 + √13 + 3 + 1 + √5).