Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Сижу думаю
 Аватар для derwes
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70

Топ Сорт. Книги

02.03.2021, 16:56. Показов 888. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем, нашел тут задачу вроде бы на дфс и топ сортировку. Можно подсказать алгоритм её решения?
Сам не могу придумать, разве что выбирать вершины из данных и сортить.

Книги
Есть n книг. Для каждой книги известно, какие книги должны находиться слева от нее и какие справа. Разместите книги на полке в таком порядке, чтобы все требования были выполнены.

Входные данные
Первая строка содержит одно целое число n — количество книг (1≤n≤100000).

Следующие n строк содержат описания требований каждой книги. Первое число в строке k1 означает количество книг, которые должны находиться слева. Затем следуют k1 целых чисел a1,a2,...,ak1 — номера этих книг (0≤k1). Следующие число в строке k2 означает количество книг, которые должны находиться справа. Затем следуют k2 целых чисел b1,b2,...,bk2 — номера этих книг (0≤k2).

Выходные данные
В единственной строке выведите n целых чисел — номера книг в порядке, в котором они должны находиться на полке. Если ответов несколько, выведите любой.

Тест -
Вход:
5
2 4 3 0
0 1 3
1 4 0
1 5 0
0 4 1 2 3 4

Выход:
5 2 4 3 1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2021, 16:56
Ответы с готовыми решениями:

Сортировка слиянием(1 сорт список+2 сорт список=3 сорт список)
Помогите найти ошибку уже замучалсо, итак прога: Написать программу, составляющую по трем символьным файлам линейные упорядоченные по...

Запросы топ 10 продаваемых и топ 10 дешевых, кассовый отчет
Доброго времени суток! Уважаемые форумчане подскажите, надо сделать 2 запроса из 20. 11 сделал, остальные кроме 2ух простейшие. ...

Сравнить ФИО из книги 1 и книги 2, и если совпадают, то в столбец А книги 1, подставить данные из столбца В книги 2
Добрый день! Подскажите, как сделать-есть 2 книги. Нужно сравнить фамилии из книги 1 и книги 2 и если ФИО совпадает, то в столбец А книги...

1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,234
02.03.2021, 19:58
Цитата Сообщение от derwes Посмотреть сообщение
Можно подсказать алгоритм её решения?
1. Перевести все требования к одной и той же стороне, допустим "справа". Или, другими словами, построить граф требований с ребрами "слева-направо".
2. Выходная последовательность изначально пуста. Все книги изначально не помечены.
3. В цикле для каждой "самой левой" книги (т.е. книги, в которую не входит ни одного ребра):
4. Выполнить обычную топологическую сортировку еще не помеченных книг, начиная с этой "самой левой" книги. Т.е выполнить DFS непомеченных книг, начиная с этой "самой левой" книги. Пометить все найденные DFS книги.
5. Отсортированные на этом шаге книги, т.е. книги, охваченные этим DFS, поместить в начало выходной последовательности
Обратный ход DFS дает нам порядок, обратный топологической сортировке. То есть на шаге 4, когда мы выполняем DFS, нам просто нужно отправлять вершины с обратного хода DFS в начало выходной последовательности.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.03.2021, 19:58
Помогаю со студенческими работами здесь

Как из лога выбрать ТОП-10 IP, а затем выбрать для них ТОП-10 URL?
Есть лог в таком формате: %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" Вот примеры: 95.143.213.149 - - "GET /...

Сорт. по массиву
Доброго время суток, покажите пожалуйста как сделать сортировку по массиву $vote <?php /* конфигурация */ $conf = array('stat'...

сорт. деревом
может кто описать что делают строки? не могу перенести теорию на чтение кода uses crt; const max = 10000; type myArray...

сорт в динамической структуре
Доброе время суток. Подскажите, как реализовать данную задачу. Все пункты я сделал, марока осталась только с сортировкой в процедуре...

Сортировка Shell сорт
Нашел в интернете лучший набор для сортировки до 4000 элементов. 1, 4, 10, 23, 57, 132, 301, 701, 1750 начиная, конечно, с конца, мы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru