Фон
Несколько месяцев назад приключение вашей жизни только начиналось. Теперь, в этот точный момент (да, сейчас), после месяцев страданий и тяжелой работы, вы и группа друзей стоите на вершине мира. Да, вы правы, вы находитесь на вершине Сагарматхи .
Однако дела идут не так хорошо, как хотелось бы. Густой туман окружил вас, и невероятно плохо выглядящий шторм приближается так быстро, как только может. Вы не закрепили веревку на пути вверх, а ваши следы были покрыты снегом. Если вы хотите выжить (по крайней мере, на сегодняшний день), вам нужно выбраться оттуда как можно быстрее, но вы ДОЛЖНЫ сначала найти способ узнать, с какой стороны горы вам следует спуститься.
К счастью, вы взяли с собой свой спутниковый телефон, который вы модифицировали перед поездкой, чтобы вы могли программировать и выполнять программы на нем.
Вызов
Вы смогли загрузить на свой телефон карту горы ASCII-старомодным-нечитаемым на вершине мира способом. Ваша задача состоит в том, чтобы решить, какое лицо горы представляет собой самый легкий спуск, чтобы вы могли увеличить свои шансы на выживание. Для этого у вас есть блестящая идея написать на телефоне программу, которая скажет, какой из них самый простой. (Отказ от ответственности: Эти действия были сделаны профессионалами. Ни один программист не пострадал во время этого повествования. Пожалуйста, не пытайтесь делать это дома.)
Карты состоят только из символов /
и \
(плюс пробелы и переводы строк). На любой карте вершина горы всегда представлена
/\
\/
и с каждой из сторон ( 1,2,3
или 4
) вершины вы всегда найдете «возможный» путь вниз по горе.
1 /\ 2
3 \/ 4
Маршруты всегда представлены следующим образом:
\
Steep-> / /
/ / <-Flat
/ \
Flat-> \ \
/ \ <-Steep
/\
\/
где каждый новый персонаж - это одно место слева / справа от своего предшественника. Значение каждого символа:
- Если косая черта / люфт параллельны своей вершине -> считается «крутой» частью.
- Если косая черта / обратная косая черта перпендикулярна его вершине -> считается «плоской» частью.
* Для получения дополнительной информации см. Рисунок выше.
Примечание : стороны могут иметь различную длину, и символы, которые составляют вершину, также считаются частью их стороны. В случае ничьей вы можете выбрать любой из них.
Стандартные лазейки запрещены.
вход
Строка, представляющая карту горы или простой текстовый файл, содержащий ту же информацию.
Или
C:\....\file.txt
или
\
/ /
/ /
/ \
\ \
/ \
/\
\/
\ /
\ \
\ \
\ \
/ /
в качестве строки допустимы входные данные.
Выход
В качестве вывода вы должны создать либо файл в виде простого текста, либо путем вывода в виде профиля профиля ASCII стороны с наименьшей средней крутизной, используемой _
для плоских деталей и /
для крутых деталей, а также средней крутизны стороны (number of "/")/(total chars)
.
Пример вывода для карты выше:
/
___/
/
AS:0.5
Формат не важен, пока у вас есть профиль и средняя крутизна.
счет
Какая? Вы хотите получить лучшую награду, чем спасать жизни себе и своим друзьям и быть первым программистом, который когда-либо программировал на вершине мира? Хорошо ... это кодовый гольф, поэтому выигрывает самая короткая программа в байтах.
Контрольные примеры
Входные данные:
\
/ /
/ /
/ \
\ \
/ \
/\
\/
\ /
\ \
\ \
\ \
/ /
Выход:
/
___/
/
AS=0.5
Входные данные:
/
\ /
/ /
\ /
\ /
/ /
/\
\/
\ /
\ \
\ \
\ \
/ /
/
/
Выход:
______/
AS=0.143 (1/7)
Входные данные:
/ \
\ \
/ /
/ \
/\
\/
\ /
\ /
\ /
/ \
Выход:
/
/
/
_/
AS=0.8