Сундуки с ключами
Задача по программированию с проверкой онлайн
- Сложность
- Сложная
- Языки
- 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 · условие переведено и дополнено