Для всіх задач слід написати тести з використанням бібліотеки unittest
. Ваш проект має бути розділено на окремі папки для коду додатку та тестів (src
та test
відповідно).
При написанні коду дотримуйтесь стандарту PEP 8, який визначає правила форматування Python-коду, такі як відступи, довжина рядків, іменування змінних тощо. Для полегшення читабельності коду слід відформатувати ваш код з допомогою Black
Задачка про довідки: link
Задачка про досвід: link
Задачка про вождя племені link
Задачка про ігровий сервер: link
Задачка про пиво: link
Критично важливим є постачання газу між сховищами та містами пінгвінів взимку. Вибух газопроводів може призвести до дефіциту палива та викликати значні проблеми у домівках бравих пінгвінів. Тому ряд газопроводів зараз відключили для ремонту.
Ви, як студент курсу Алгоритми і структури даних маєте бажання допомогти Пінгвінам. Ви готові написати для них алгоритм, який перевірить, чи існує спосіб транспортування палива з будь-якого сховища до будь якого міста з використанням газопроводів, які не вивели в ремонт. Зауважте, що газ по трубі можна транспортувати лише в одному напрямку.
Для розв'язання цієї задачі пінгвіни надали вам:
-
список міст
-
список газосховищ
-
список активних газопроводів, у форматі
[ ['Львів', 'Стрий'], ['Долина', 'Львів'], ['Сховище_1', 'Сховище_2'] ]
, де['Львів', 'Стрий']
означає наявність газопроводу між містами Львів та Стрий, де подача газу відбувається від Львова до СтрияВаша програма має повернути результат у форматі:
[ 'газосховище', ['місто_1', 'місто_2']
, де:газосховище
- назва газосховища['місто_1', 'місто_2']
- список міст, до яких неможливо подати газ з цього газосховища
Зауважте, що газ може подаватись з газосховища до будь якого міста транзитом через інші міста.
У випадку, якщо є зв'язок між усіма газосховищами та містами, поверніть пустий список