(con disculpas a Jim West por el título e inspirado al azar por la representación textual de su logotipo por parte de Cisco: .:|:.:|:. por el concepto)
Dado un entero de entrada 1 <= n <= 255, genera una representación artística ASCII de un puente colgante de distancia nsiguiendo las siguientes reglas de construcción:
- El inicio y el final del puente (sin contar en la
ndistancia) son siempre-|y|-, por lo que el puente puede conectarse adecuadamente a las carreteras cercanas. - El puente no se extiende hacia abajo (el nivel de la carretera, compuesto por el
-fila, es la fila inferior). - Puede haber como máximo dos piezas de calzada
--seguidas, cualquier tramo más largo requiere cables de suspensión para soporte. - Los cables de suspensión se
\extienden desde la carretera hasta las torres.|en línea recta. - Las torres
|deben ser lo suficientemente altas como para soportar los cables de suspensión adyacentes, pero no más altas. - El puente debe estar equilibrado de izquierda a derecha sobre el punto medio, favoreciendo las secciones centrales siempre que sea posible.
- Todo lo anterior debería resultar en una minimización de los cables, pero para ser claros, el número de cables de suspensión debe minimizarse sin dejar de seguir las reglas anteriores.
Para proporcionar una representación visual, aquí están los resultados esperados para n = 1, 2, 3, ... 15:
1
-|-|-
2
-|--|-
3
-|\-/|-
4
-|\--/|-
5
|\ /|
-|-\-/-|-
6
|\ /|
-|-\--/-|-
7
|\ /|
| \ / |
-|--\-/--|-
8
|\ /|
| \ / |
-|--\--/--|-
9
|\ /|
| \ / |
| \ / |
-|\--\-/--/|-
10
|\ /|
| \ / |
| \ / |
-|\--\--/--/|-
11
|\ /|
| \ / |
| \ / |
|\ \ / /|
-|-\--\-/--/-|-
12
|\ /|
| \ / |
| \ / |
|\ \ / /|
-|-\--\--/--/-|-
13
|\ /|
| \ / |
| \ / |
|\ \ / /|
| \ \ / / |
-|--\--\-/--/--|-
14
|\ /|
| \ / |
| \ / |
|\ \ / /|
| \ \ / / |
-|--\--\--/--/--|-
15
|\ /|
| \ / |
| \ / |
|\ \ / /|
| \ \ / / |
| \ \ / / |
-|\--\--\-/--/--/|-
Entrada
Un número entero positivo solo en cualquier formato conveniente , n > 9.
Salida
El puente de arte ASCII siguiendo la técnica de construcción anterior.
Reglas
- Las nuevas líneas o espacios en blanco iniciales o finales son opcionales, siempre que los caracteres del puente se alineen correctamente.
- Un programa completo o una función son aceptables. Si es una función, puede devolver el resultado en lugar de imprimirlo.
- Si es posible, incluya un enlace a un entorno de prueba en línea para que las personas puedan probar su código.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).