Напишіть програму (або функцію), яка містить непорожній рядок будь-яких символів для друку ASCII .
Роздрукуйте (або поверніть) ланцюжок зігзагоподібних символів у рядку з кожною сусідньою парою символів, пов'язаних між собою:
/
якщо перший символ виникає перед другим символом у звичайному порядку ASCII. напрB / A
\
якщо перший символ виникає після другого символу в звичайному порядку ASCII. напрB \ A
-
якщо перший і другий символи однакові. напрA-A
Таким чином, вихід для Programming Puzzles & Code Golf
буде
o
/ \
r z-z o e G l
/ \ / \ / \ / \ / \
P o r m-m n u l s & C d f
\ / \ / \ / \ / \ / \ / \ /
g a i g P e
\ /
Якщо у вхідному рядку є лише один символ, то вихід буде просто таким символом.
Ваша програма повинна лікувати ,
/
, \
і -
точно так само , як і всі інші символи.
наприклад, -\//-- \ //-
повинні виробляти:
\
/ \
- /-/
/ \
- --- \ /-/
\ / \ / \
-
\
У виході не повинно бути сторонніх нових рядків, крім одного необов'язкового останнього нового рядка. (Зверніть увагу, що порожній рядок у прикладі, що знаходиться вище, містить останнє пробіл у рядку і тому не є стороннім.) На будь-яких рядках у будь-якому розташуванні можуть бути пробіли.
Виграє найкоротший код у байтах.
Ще один приклад - Input:
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Вихід:
9 9 8 6 6
/ \ / \ / \ / \ / \
9 6 8 7 3 3 4 2 4 8 9 8-8
/ \ / \ / \ / \ / \ / \ / \
4 5 2 5 5 2 3-3 3 7 5 2 4 9 9 9-9 7
/ \ / \ / \ / \ / \ / \ / \ / \ / \
3 1 1 3 2 0 1 7 6 3 3 5 8 8 6
\ / \ / \ / \ / \ / \
. 1 1 5 2 9 9 3 7 1 4 6 8 9
\ / \ / \ / \ / \ / \ / \ / \ /
0 0 7 9 5 2 0 0 2 6 9-9 8 5 4 7
\ / \ / \ / \ / \ / \ / \ /
4 4-4 2 8 8 4 2 3 2 7 6
\ / \ / \ / \ /
0 6 8 3 1-1 0
\ / \ /
2 0
'\n'
такий рядок шаблону, як цей