• 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 8. Словари

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Задача«А нужен ли словарь?»

Вы разрабатываете систему для анализа зависимостей между модулями программного проекта. Каждый модуль может зависеть от других модулей, и вам необходимо построить граф зависимостей, выявить циклические зависимости и определить правильный порядок загрузки модулей.
Система должна рассчитать уровень каждого модуля (максимальная глубина цепочки зависимостей до него) и выполнить топологическую сортировку для определения безопасного порядка загрузки.

Формат ввода

Первая строка содержит число N - количество модулей.
Следующие N строк содержат описание зависимостей в формате:
имя_модуля: зависимость1 зависимость2 ... зависимостьK
Если у модуля нет зависимостей, после двоеточия указывается пустая строка или только пробелы

Формат Вывода

Если обнаружены циклические зависимости:
CYCLE DETECTED
Иначе:
  • Строка с порядком загрузки модулей через пробел
  • N строк в формате модуль: уровень

Пример

Ввод

4
main: utils database
utils: config
database: config
config:

Вывод

config utils database main
config: 0
utils: 1
database: 1
main: 2

Подсказка

Тут подсказки не будет, решай сам!

main.py
Тест 1
Тест 2
Тест 3
Тест 4
Тест 5
Тест 6
Тест 7
Тест 8
Тест 9
Тест 10
Решение разработчика

🎉 Поздравляем! 🎉

Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.

AD

Реклама

red-snake blue-snake green-snake

Запускаем ваш код...

Помощник ИИ

Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, обьяснить то, что тебе не понятно, а так же о текущей задаче!