====== Чекер для работы с файловой системой - лабиринт ====== ===== Задача ===== ==== Общая постановка задачи ==== Дана некоторая корневая директория, в которой может находиться некоторое количество папок, в том числе вложенных. В этих папках хранятся некоторые текстовые файлы, имеющие имя вида .txt. Требуется найти файл, который содержит строку "Minotaur" (файл-минотавр). Файл, с которого следует начинать поиск, всегда называется file.txt (но полный путь к нему неизвестен). Каждый текстовый файл, кроме искомого, может содержать в себе ссылку на название другого файла (эта ссылка не содержит пути к файлу). Таких ссылок может быть несколько. === Пример: === @include a2.txt @include b5.txt @include a7.txt === Пример тупика: === Deadlock Программа должна вывести правильную цепочку файлов (с путями), которая привела к поимке файла-минотавра. === Пример === {{:second.png?200|}} @include file1.txt @include file4.txt @include file5.txt Deadlock @include file3.txt Minotaur @include file2.txt @include file1.txt Deadlock Правильный ответ: root/add/add/file.txt root/add/mul/add/file4.txt root/add/mul/file2.txt root/add/mul/file3.txt // ! Цепочка, приводящая к файлу-минотавру может быть только одна. ! Общее количество файлов в каталоге не может быть больше 200. ! Циклических зависимостей быть не может. ! Файлы не могут иметь одинаковые имена.//