
Напишите функцию, которая принимает размер 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, например n = 10_000, поэтому ожидается векторизация через NumPy, а не двойной Python-цикл.
def make_chessboard(n: int) -> list[list[int]]:n = 0[]Пустая матрица
n = 1[[1]]Один элемент
n = 2[[1,0],[0,2]]Минимальная шахматка