- Описание
- Отправленные решения
16. Яндекс Суп
Петя налил суп с буквами в кастрюлю, но вот незадача — кастрюля оказалась с дырками по краям, и суп начал вытекать. Каждая буква плывет к ближайшей дырке и вытекает из кастрюли.
Помогите Пете понять, успеет ли он спасти какие-нибудь буквы - напишите функцию, которая вычислит первую секунду, в которую в кастрюле отсутствуют буквы.
Считается, что:
Время начинается с секунды номер 1.
Кастрюля — это прямоугольник.
- За одну секунду буква перемещается в одну из четырех соседних ячеек кастрюли (слева/справа/сверху/снизу);
- Буква течет к ближайшей (по необходимому количеству секунд) дырке;
- Буквы никак не взаимодействуют между собой.
- Буква может течь по краям и углам кастрюли.
Шаблон решения
module.exports = function (mapString: string): number {
// Ваш код
return timeInSec; // первая секунда, в которую в кастрюле отсутствуют буквы
}
Формат ввода
Единственная строка mapString
с картинкой супа в начальном состоянии:
Кастрюля:
- представляет собой клетчатую матрицу из рядов и колонок ();
- "ряды" картинки разделены символом перевода строки
\n
; - горизонтальные края заданы символом
-
; - вертикальные края заданы символом
|
; - углы заданы символом
+
; - пустоты заданы символом пробела.
Дырки
- пусть количество дырок ; в таком случае ;
- дырки расположены только на краях / углах кастрюли (заменяют собой соответствующие символы);
- каждая дырка подписана уникальной цифрой (
0
..9
); - на одной стороне может быть несколько дырок;
- у всех дырок уникальные координаты.
Буквы
- пусть количество букв ; в таком случае ;
- все буквы являются заглавными латинскими (
A
..Z
).
Формат вывода
Ваша функция должна вернуть единственное число - первая секунда, в которую в кастрюле отсутствуют буквы.
Описание тестового примера содержит результат в формате json - это особенность задачи, ваша функция должна возвращать именно целое число.
Ограничения
Ограничение времени
3 с
Ограничение памяти
512 МБ
Пример 1
+----------------0---------------+
| |
| |
| U D |
| L |
| R |
| L |
| U 1
3 U D |
| L R |
| |
+----------------2---------------+
{"result":11}