Вызов от моего университетского конкурса
Это на самом деле День 0, но вчерашний вызов был слишком легким и может быть обманом другого вопроса здесь.
Тетрис - это видеоигра, которая стала популярной в 80-х годах. Он состоит в размещении серии кусков различной формы, которые падают на доску так, чтобы они подходили максимально компактным образом.
В этой задаче мы будем предполагать последовательность частей, которые падают, каждая в определенной позиции и с определенной ориентацией, которая не может быть изменена. Части накапливаются по мере их падения, и полные ряды не удаляются (как в оригинальной игре). Цель состоит в том, чтобы определить окончательную высоту каждого столбца доски после падения всех фигур.
Всего на рисунке показано 7 разных фигур:
Вызов
Учитывая список фигур, выведите высоту всех столбцов с доски после падения всех фигур.
Часть состоит из трех чисел: I, R и P. Первое число, I, является идентификатором части (число между 1 и 7, в том же порядке, что и на рисунке). Второе число, R, это поворот фигуры. Он может принимать значения 0, 90, 180 или 270 и представляет угол поворота детали в направлении против часовой стрелки. Третье число, P, указывает положение фигуры. Представляет столбец слева, занятый частью (это может быть 1 или 0 индекс. Пожалуйста, укажите).
Пример и тестовый пример (1 индекс)
- Данный
[[1, 0, 1], [4, 0, 1], [5, 90, 4]]
- Выход
[3, 3, 1, 3, 2]
- Данный
[[6, 270, 4], [1, 180, 5], [1, 90, 6], [7, 0, 4]]
- Выход
[0, 0, 0, 9, 9, 8, 3, 3]
Данный
[[3,0,1],[3,180,3]]
вывод[1,1,4,4,4]
Данный
[[2,180,1],[2,0,3]]
вывод[2,2,4,3,3]
Примечания
- Это код-гольф
- Строка / Столбец может быть 1 или 0 Индекс. Пожалуйста уточни.
- Вы можете переопределить входные значения (возможно, вы хотите назвать часть 1 как A и т. Д.). В этом случае, пожалуйста, укажите
Вопросов
Можем ли мы использовать 4 различных значения вместо угла в градусах ?: Да
Должны ли мы обрабатывать «дыры», если кусок не совсем подходит по сравнению с предыдущими ?: Да
Высота или ширина доски ограничены? Нет. Ни ширина, ни высота не ограничены
Спасибо @Arnauld за изображения и контрольные примеры *. *
I
,R
иP
вводить в другом порядке?