Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » 500 руб за решение задачи с описанием мыслительного процесса
500 руб за решение задачи с описанием мыслительного процесса
Мой телеграм ARUTER
Обход каталога
Беси хранит свои файлы на компьютере в виде коллекции директорий.

bessie/
folder1/
file1
folder2/
file2
folder3/
file3
file4
Самая верхняя директория называется bessie

Беси может заходить в любую директорию, какую захочет. Из данной директории любой файл может быть доступен по "относительному пути". В относительном пути символ ".." означает родительскую директорию. Например, если Беси находится в директории folder2, то она может обращаться к своим четырём файлам следующим образом:

../file1
file2
../../folder3/file3
../../file4
Беси хочет выбрать такую директорию, из которой сумма длин относительных путей ко всем файлам минимальна.

Входные данные
Первая строка содержит целое число n (2 ≤ n ≤ 105), определяющее общее количество файлов и директорий. В целях упрощения ввода каждому объекту (файлу или директории) назначено уникальное целое число (ID) от 1 до n, где 1 означает самую верхнюю директорию.

Далее следуют n строк. Каждая строка начинается с имени файла или директории. Имя состоит только из маленьких английских букв a - z и цифр 0 - 9 и имеет длину не более 16 символов. Следом за именем идёт целое число m. Если m равно 0, значит это файл. Если m > 0, значит это директория, которая содержит m файлов или директорий. Следующие m целых чисел содержат идентификаторы объектов в этой директории.

Выходные данные
Выведите минимально возможную длину всех относительных путей к файлам. Заметим, что это число может таким большим, что не поместится в 32-битное целое.

Пример
Наилучшее решение быть в папке folder1. Относительные пути из этой директории таковы:

file1
folder2/file2
../folder3/file3
../file4

Лимит времени 1 секунда

Лимит использования памяти 128 MiB
Входные данные #1 content_copy
8
bessie 3 2 6 8
folder1 2 3 4
file1 0
folder2 1 5
file2 0
folder3 1 7
file3 0
file4 0
Выходные данные #1 content_copy
42
1 | Автор: ARUTER | 2022-05-19, 12:54 | Изменено: ARUTER - Чт, 2022-05-19, 13:42   |  Репутация: [ + 0 ]
Уважаемые форумчане и гости форума пользователь ARUTER мошенник и кидала на деньги его телеграм ARUTER, он мне не заплатил за написанные мной тесты, воспользовался ими и удалил всю переписку из телеграмма. Прошу не попадайтесь в его сети, Вас просто он обманет.

.
2 | Автор: versa | 2022-06-02, 22:47   |  Репутация: [ + 0 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » 500 руб за решение задачи с описанием мыслительного процесса
  • Страница 1 из 1
  • 1
Поиск: