APL ( 171 166 162 caracteres, todas las bonificaciones: 999 - 171 166 162 + 20 + 20 + 200 = 1068 1073 1077)
Este es el programa APL de golf más largo que he escrito hasta ahora. Esto podría ser un poco engañoso, pero no hay nada en la pregunta que realmente lo rechace. Lo que estoy haciendo es poner todos los nodos en una línea vertical y dibujar el gráfico como un diagrama de arco. Sin embargo, obviamente todavía es un gráfico.
Todavía me tomó algunas horas.
V←' '⍴⍨99,⍨2×⍴P←∪,C←(2,⍨2÷⍨⍴G)⍴G←G/⍨⎕A∊⍨G←⍞⋄V[2×⍳⍴P;50]←P⋄M←1⋄G←⍴D←{⍵[⍋⍵]}¨↓P⍳C⋄{V[A B←⍵;L←50+M×⌽⍳G]∘←'-'⋄V[A+⍳B-A;⊃L]∘←'|'⋄V[⍵;⊃L]∘←'+'⋄M×←¯1⋄G-←1}¨2×D[⍒|-/↑D]⋄V
Los nodos deben ser letras mayúsculas individuales, por lo que admite un máximo de 26 nodos. Puede manejar líneas cruzadas, y cada nodo puede tener tantas conexiones como la pantalla manejará.
Salida de ejemplo:
A,B C,A C,D
+-A--+
| |
+-B |
|
C+-+
|
D+
A,B C,A B,A A,D A,E F,G C,G
+--A-+-+-+
| | | |
| B-+ | |
| | |
+-+--C | |
| | |
| D---+ |
| |
| E-----+
|
| +F
| |
+---+G
T,H E,Q U,I C,K B,R O,W N,F O,X J,U M,P S,O V,E R,T H,E L,A Z,Y D,O G,S
+---+----------T
| |
| +-------+--H
| |
| +--E---------+-------+
| | |
| Q---------+ |
| |
| +--------U---------------+ |
| | | |
| +--------I | |
| | |
| C-------+ | |
| | | |
| K-------+ | |
| | |
| +------B | |
| | | |
+-------+------R | |
| |
+----------------O-----+-----+-+ | |
| | | | | |
| W-----+ | | | |
| | | | |
| +----N | | | |
| | | | | |
| +----F | | | |
| | | | |
| X-----------+ | | |
| | | |
| J-------------|-+ |
| | |
| M---+ | |
| | | |
| P---+ | |
| | |
| +------------S-------------+ |
| | |
| | V-----------------+
| |
| | L-+
| | |
| | A-+
| |
| | +Z
| | |
| | +Y
| |
+---|------------D
|
+------------G
code-golf
,code-challenge
O qué? ¿Y cuál es / son los criterios / criterios ganadores?