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

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

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

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

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

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

Формат ввода

Первая строка содержит число 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, я могу рассказать о функциях, методах, объяснить то, что тебе не понятно, а также о текущей задаче!