This shows you the differences between two versions of the page.
project_2_kutsenok [2017/04/14 13:40] tatyana.berlenko |
project_2_kutsenok [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Чекер для работы с файловой системой - лабиринт ====== | ||
- | ===== Задача ===== | ||
- | |||
- | ==== Общая постановка задачи ==== | ||
- | |||
- | Дана некоторая корневая директория, в которой может находиться некоторое количество папок, в том числе вложенных. В этих папках хранятся некоторые текстовые файлы, имеющие имя вида <filename>.txt. | ||
- | |||
- | Требуется найти файл, который содержит строку "Minotaur" (файл-минотавр). | ||
- | |||
- | Файл, с которого следует начинать поиск, всегда называется file.txt (но полный путь к нему неизвестен). | ||
- | |||
- | Каждый текстовый файл, кроме искомого, может содержать в себе ссылку на название другого файла (эта ссылка не содержит пути к файлу). Таких ссылок может быть несколько. | ||
- | |||
- | === Пример: === | ||
- | |||
- | <file txt a1.txt> | ||
- | |||
- | @include a2.txt | ||
- | @include b5.txt | ||
- | @include a7.txt | ||
- | </file> | ||
- | |||
- | === Пример тупика: === | ||
- | |||
- | <file txt a2.txt> | ||
- | |||
- | Deadlock | ||
- | </file> | ||
- | |||
- | Программа должна вывести правильную цепочку файлов (с путями), которая привела к поимке файла-минотавра. | ||
- | |||
- | === Пример === | ||
- | |||
- | {{:second.png?200|}} | ||
- | |||
- | <code> | ||
- | file.txt: | ||
- | @include file1.txt | ||
- | @include file4.txt | ||
- | @include file5.txt | ||
- | |||
- | file1.txt: | ||
- | Deadlock | ||
- | |||
- | file2.txt: | ||
- | @include file3.txt | ||
- | |||
- | file3.txt: | ||
- | Minotaur | ||
- | |||
- | file4.txt: | ||
- | @include file2.txt | ||
- | @include file1.txt | ||
- | |||
- | file5.txt: | ||
- | Deadlock | ||
- | </code> | ||
- | |||
- | Правильный ответ: | ||
- | <code> | ||
- | root/add/add/file.txt | ||
- | root/add/mul/add/file4.txt | ||
- | root/add/mul/file2.txt | ||
- | root/add/mul/file3.txt | ||
- | </code> | ||
- | |||
- | // | ||
- | ! Цепочка, приводящая к файлу-минотавру может быть только одна. | ||
- | ! Общее количество файлов в каталоге не может быть больше 200. | ||
- | ! Циклических зависимостей быть не может. | ||
- | ! Файлы не могут иметь одинаковые имена.// |