
Напишите функцию, которая принимает размер n и создает квадратную матрицу n x n.
Нужно заполнить клетки шахматного цвета, начиная с левого верхнего угла, последовательными числами 1, 2, 3, ..., а остальные клетки оставить нулями.
Для n = 6 результат должен быть:
[
[1, 0, 2, 0, 3, 0],
[0, 4, 0, 5, 0, 6],
[7, 0, 8, 0, 9, 0],
[0, 10, 0, 11, 0, 12],
[13, 0, 14, 0, 15, 0],
[0, 16, 0, 17, 0, 18],
]
Если n <= 0, верните пустой список.
На собеседовании отдельно просили избегать вложенного Python-цикла и использовать NumPy/broadcasting. Даже векторизованное решение остается O(n^2) по памяти, поэтому очень большие n ограничены RAM и форматом возвращаемого list[list[int]].
def make_chessboard(n: int) -> list[list[int]]:n = 0[]Пустая матрица
n = 1[[1]]Один элемент
n = 2[[1,0],[0,2]]Минимальная шахматка