Code Golf: Connecting the dots
Posted
by ChristopheD
on Stack Overflow
See other posts from Stack Overflow
or by ChristopheD
Published on 2010-03-26T23:37:24Z
Indexed on
2010/03/26
23:43 UTC
Read the original article
Hit count: 172
Description:
The input are multiple lines (terminated by a newline) which describe a 'field'. There are 'numbers' scattered across this field:
- the numbers always start at 1
- they follow the ordering of the natural numbers: every 'next number' is incremented with 1
- every number is surrounded by (at least) one whitespace on it's left and right
Task:
Draw lines between these numbers in their natural order
(1 -> 2 -> 3 -> ...N)
with the following characteristics:
- replace a number with a '
+
' character - for horizontal lines: use '
-
' - for vertical lines: use '
|
' - going left and down or right and up:
/
- going left and up or right and down:
\
Important note: When drawing lines of type 4 and 5 you can assume that :
(given points to connect with coordinates x1, y1 and x2, y2)
distance(x1,x2) == distance(y1,y2)
.
Have a look at the examples to see where you should 'attach' the lines. It is important to follow the order in which the dots are connected (newer lines can be drawn over older lines).
Sample input 1
9 10 8 7 6 5 11 13 12 3 4 14 15 16 1 2
Sample output 1
/+ / | / | +/ +--+ | +\ | \ | \+ /+ | / | /+-------------+/ +---+ / | +--+ | + | +--------------------------+
Sample input 2
4 2 3 5 6 1 8 7
Sample output 2
/+ / | / | / | /+------------------+/ +--------+\ / \ +/ +--------------------------------------+
Winner: shortest solution (by code count). Input can be read via command line.
© Stack Overflow or respective owner