Мини-урок · перед практикой
Шахматная доска
Выбираем символ по чётности суммы индексов.
Как к ней подойти
Разберитесь, как работать со строками и столбцами двумерного массива, не путая индексы.
Коротко о теме
Двумерный массив читают по двум координатам: сначала строка, затем столбец. Вложенные циклы обходят все ячейки или только нужную часть таблицы. Сверьте размеры массива и границы обоих индексов.
Ключевая идея · Формула для клетки
Индексы начинаются с нуля, поэтому в левом верхнем углу чётная сумма и точка.
Проверьте перед запуском
- Нечётная ширина не должна нарушать чередование начала строк.
После практики
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Формула для клетки
Индексы начинаются с нуля, поэтому в левом верхнем углу чётная сумма и точка.
n, m = map(int, input().split())
a = [['.' if (i + j) % 2 == 0 else '*' for j in range(m)] for i in range(n)]
for row in a:
print(*row)
Время: O(nm). Память: O(nm), создана матрица по условию.
Другой способ: Чередование символов
Переключаем символ после каждой клетки, а начальный символ — после каждой строки.
n, m = map(int, input().split())
a = []
first = '.'
for i in range(n):
row = []
char = first
for j in range(m):
row.append(char)
char = '*' if char == '.' else '.'
a.append(row)
first = '*' if first == '.' else '.'
for row in a:
print(*row)
Время: O(nm). Память: O(nm).