Введение
«Ярр! У нас был парень, который называл себя« программистом », делающим карту для нашего скрытого сокровища! Но это написано со странными числами и буквами!» E5, N2, E3 «... что это вообще делает? значит? Безумие! Не могу даже написать правильную карту сокровищ, т 'бесполезный кретин. Исправь это нас! Мы подарим тебе долю сокровищ! "
Описание задачи
Группа пиратов с трудом читает карту сокровищ. Можете ли вы написать программу для преобразования ее в более ... пиратскую форму?
В качестве входных данных вы получите оригинальную карту сокровищ. Это список строк, разделенных запятыми, каждая строка состоит из буквенной части (которая сообщает пиратам, в каком направлении им нужно идти) и числовой части (которая сообщает пиратам, сколько шагов нужно предпринять в этом направлении). Например, следующая карта сокровищ:
E2,N4,E5,S2,W1,S3
означало бы: «пройти два шага на восток, пройти четыре шага на север, пять шагов на восток, два шага на юг, один шаг на запад, а затем три шага на юг».
Как выход, вы будете выводить карту в графическом виде, используя символы >
, ^
, v
, и в <
качестве указателей. Вот вывод для вышеуказанного ввода:
>>>>>v
^ v
^ v<
^ v
>>^ X
Обратите внимание, что мы заменили последний шаг на юг X
вместо этого. Это потому, что последний шаг - это то, где находится сокровище, и, как мы все знаем, пираты должны иметь X на своих картах сокровищ, иначе они не будут знать, как их прочитать.
Кстати, карта никогда не пересечет сама себя, поэтому вам не нужно беспокоиться о перекрытиях. Кроме того, вам разрешено иметь завершающую новую строку в конце вывода.
Образцы входов и выходов
S5,W2
v
v
v
v
v
X<
N1,E1,S1,E1,N1,E1,S2
>v>v
^>^X
N1
X
N6,E6,S6,W5,N5,E4,S4,W3,N3,E2,S2,W1,N2
>>>>>>v
^>>>>vv
^^>>vvv
^^^Xvvv
^^^^<vv
^^^<<<v
^^<<<<<
E21,S2
>>>>>>>>>>>>>>>>>>>>>v
X
N12,E11,S12,W2,N4
>>>>>>>>>>>v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ X v
^ ^ v
^ ^ v
^ ^<<
X
следует отметить шаг после последнего хода, как и все другие ходы. Представьте, что последний шаг - это N3: вы идете три шага на север и копаете, но здесь ничего нет, вместо этого вам пришлось пройти 2 шага. Я не против, если вы сохраните существующее правило, потому что оно добавляет небольшой угловой случай для обработки. Но помни, что случилось с этим парнем.