Сундуки с ключами

Задача по программированию с проверкой онлайн

Сложность
Сложная
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Поиск и сортировка
Деревья и графы

Перед вами N запертых сундуков. Сундук открывается ключом определённого типа, и ключ при этом расходуется. Внутри сундука могут лежать ключи (в том числе несколько одного типа), которые можно использовать дальше; держать в руках можно сколько угодно ключей.

Список start_keys — типы ключей, которые у вас есть в начале (хотя бы один). Элемент chests[i] описывает сундук номер i + 1: chests[i][0] — тип ключа, который его открывает, остальные числа — типы ключей внутри. Типы — числа от 1 до 200. Верните порядок, в котором нужно открыть все сундуки, как список их номеров (с 1). Если порядков несколько, верните лексикографически наименьший: первый номер как можно меньше, при равенстве — второй и так далее. Если открыть все сундуки нельзя, верните пустой список []. Сундуков до 200, ключей всего до 400.

Пример: [1], [[1], [1, 1, 3], [2], [3, 2]] → [2, 1, 4, 3].


Источник: Coding Competitions Archive, codejam/2013/qualification_round/treasure · © Google LLC · Apache-2.0 · условие переведено и дополнено

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки