В этом упражнении вы напишете код для решения проблемы. Ваш код должен быть написан либо на Python (предпочтительно), либо на JavaScript — решения на других языках не принимаются! Вы можете написать свой код, используя любую IDE.
Проблема:
У нас есть система конвейеров, представленная двумерной прямоугольной сеткой ячеек. В ячейках сетки расположены объекты трех разных типов, причем в каждой ячейке содержится либо 0 объектов, либо 1 объект:
Источник: в системе имеется 1 источник. Он обозначается звездочкой '*'.
Приемники: в системе имеется произвольное количество приемников. Каждая из них обозначается отдельной буквой в верхнем регистре («A», «B», «C» и т. д.).
Трубы: существует 10 различных форм трубок, представленных следующие символы: '═', '║', '╔', '╗', '╚', '╝', '╠', '╣', '╦', '╩'.
Обратите внимание, что каждая труба имеет отверстия на 2 или 3 сторонах своей ячейки.
Две соседние ячейки соединяются, если обе имеют отверстие для трубы на общем крае.
Например, две ячейки '╩ ╦' соединены друг с другом через общее ребро. Две ячейки '╩ ╔' не связаны друг с другом общим краем, но они все равно могут быть соединены путем через другие ячейки вокруг них.
Обработайте источник и приемники. как имеющие отверстия для труб по всем краям. Например, две ячейки «A ╦» соединены общим краем, но две ячейки «B ╔» не соединены напрямую через общий край.
Приемник может быть соединен к источнику через другой сток. Например, в простой системе трубопроводов «* ╦ X Y ═ Z» все три приемника подключены к источнику.
Ваша цель — написать функцию, которая определяет, какие приемники подключены к источнику. источник в данной системе трубопроводов.
В качестве примера рассмотрим следующую иллюстрацию трубопроводной системы:
Код: Выделить всё
* ╣ ╔ ═ A
╠ ═ ╝
C ╚ ═ B
Система определяется входной текстовый файл, содержащий строки данных, указывающие расположение объектов в сетке. Каждая строка содержит три части информации, разделенные пробелом:
Символ, представляющий объект (звездочка, заглавная буква или черта).
Координата X объекта в сетке. Минимальное значение – 0.
Координата Y объекта в сетке. Минимальное значение — 0.
Ниже показано содержимое входного файла, в котором указан пример системы трубопроводов, показанный выше. Порядок строк в файле произвольный, поэтому строки могут быть заданы в любом порядке. Координаты (0, 0) всегда будут соответствовать тому же углу сетки, что и в этом примере, поэтому обязательно поймите, в каких направлениях увеличиваются координаты x и y.
Код: Выделить всё
* 0 2
C 1 0
╠ 1 1
╣ 1 2
═ 2 1
╚ 3 0
╝ 3 1
╔ 3 2
═ 4 0
═ 4 2
B 5 0
A 5 2
Ваша функция должна быть написана на Python (предпочтительно) или JavaScript.
Функция должна принимать один аргумент, который представляет собой строку, содержащую путь к входному текстовому файлу.
Функция должна возвращать (не печатать) ваш ответ в виде строки заглавных букв в в алфавитном порядке без других символов. Например, если код определяет, что приемники «P», «B», «J» и «T» являются единственными приемниками, подключенными к источнику, ваш код должен вернуть строку «BJPT».
Отправьте полный код вашей функции.
У меня возникли проблемы с созданием кода.
Подробнее здесь: https://stackoverflow.com/questions/786 ... s-in-a-pip