Коротка версія виклику «Хмарочоси»
Завдання
Враховуючи масив висот будівлі та додатне ціле число k
, знайдіть усі перестановки (без дублікатів) висот такими, що k
видно саме будинки.
Будь-яка будівля приховає всі будівлі коротшої або однакової висоти за нею.
Будь-який формат для введення та виводу є дійсним.
Вхідний масив ніколи не буде порожнім.
Якщо неможливо побачити стільки ж будівель, виведіть все, що не може бути відповіддю, але помилки немає.
Приклади:
(Довжина виводу показана для дуже довгих результатів, але ваш вихід повинен бути усіма можливими перестановками)
input:[1,2,3,4,5],2
output: 50
input:[5,5,5,5,5,5,5,5],2
output: []
input:[1,2,2],2
output:[(1,2,2)]
Seeing from the left, exactly 2 buildings are visible.
input:[1,7,4],2
output:[(4, 7, 1), (1, 7, 4), (4, 1, 7)]
input:[1,2,3,4,5,6,7,8,9],4
output:67284
input:[34,55,11,22],1
output:[(55, 34, 11, 22), (55, 22, 34, 11), (55, 34, 22, 11), (55, 11, 34, 22), (55, 22, 11, 34), (55, 11, 22, 34)]
input:[3,4,1,2,3],2
output:31
Це код-гольф, тому виграє найкоротший код
Необов’язково: якщо можливо, можете додати щось подібне if length is greater than 20: print length else print answer
. У нижньому колонтитулі, а не в коді.
[1,2,3,4,5],5 -> [(1,2,3,4,5)]
. Жоден із нинішніх тестових випадків не гарантує, що відповіді можуть підтримувати показ усіх будівель (хоча я не знаю, чи є у них насправді проблема з цим).