JustCaptain kod-buduschego
llm/middle-9c3d46
Перейти к файлу
Код
kod-buduschego C++Дополнительные задачи3-middle23. Расписание курсов.md
anc добавил допольнительные задачи b2eaa8d 3 недели назад
23. Расписание курсов.md

23. Расписание курсов#

🎯 Уровень 🟠 Middle
🔗 Источник LeetCode 207 — Course Schedule
📊 Сложность Medium
🏷️ Темы графы, топологическая сортировка

📝 Условие#

Есть курсы и зависимости «чтобы пройти A, нужно пройти B». Можно ли пройти все курсы?

Совет

На LeetCode main не нужен: данные приходят аргументами метода класса Solution.
Формат ниже — для запуска у себя через cin / cout.

📥 Входные данные#

В первой строке два числа numCourses и p (1 ≤ numCourses ≤ 2000, 0 ≤ p ≤ 5000). Далее p строк a b — чтобы пройти курс a, нужно сначала пройти курс b. Курсы нумеруются с нуля.

📤 Выходные данные#

true, если можно пройти все курсы, иначе false.

🧪 Тесты#

Тест 1#

Ввод:

2 1
1 0

Вывод:

true

Тест 2#

Ввод:

2 2
1 0
0 1

Вывод:

false

Тест 3#

Ввод:

4 4
1 0
2 1
3 2
3 0

Вывод:

true

Заметка

Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.

💡 Подсказка#

Открыть, если застрял(а) больше чем на 20 минут

Ищите цикл: алгоритм Кана или DFS с цветами.


⬅️ К списку задач уровня