На шахматной доске размером N× N расположены N шахматных ладей, которые не атакуют друг друга, то есть на каждой

На шахматной доске размером N× N расположены N шахматных ладей, которые не атакуют друг друга, то есть на каждой вертикали и каждой горизонтали находится только одна ладья. Доску повернули по часовой стрелке. Покажите новое расположение ладей. Формат ввода: Первая строка содержит число N - размер доски. N должно быть от 1 до 105. Следующие N строк содержат по числу от 1 до N. Число в i-й строке обозначает вертикаль, на которой находится ладья на i-й горизонтали. В этой задаче вертикали и горизонтали нумеруются числами от 1 до N.
Orel

Orel

Давайте решим задачу поэтапно:

1. Прочитаем входные данные: число N и N строк с числами.
2. Создадим пустую шахматную доску размером N×N.
3. Расставим ладьи на доске в соответствии с введенными данными.
4. Повернем доску по часовой стрелке.
5. Выведем новое расположение ладей.

Вот код на языке Python, выполняющий это решение:

python
# Шаг 1: Чтение входных данных
N = int(input())
chessboard = [] # Доска

for _ in range(N):
row = list(map(int, input().split()))
chessboard.append(row)

# Шаг 2: Создание пустой доски
new_chessboard = [[0] * N for _ in range(N)]

# Шаг 3: Расстановка ладей на доске
for i in range(N):
row, col = i, chessboard[i][0] - 1
new_chessboard[row][col] = 1

# Шаг 4: Поворот доски
new_chessboard = list(zip(*reversed(new_chessboard)))

# Шаг 5: Вывод нового расположения ладей
for row in new_chessboard:
print(*row)


Этот код считывает размер доски и числа для каждой строки, создает пустую доску и расставляет ладьи в соответствии с введенными данными. Затем он поворачивает доску по часовой стрелке и выводит новое расположение ладей.

Пожалуйста, обратите внимание, что в данной реализации не предусмотрены проверки ввода на соответствие условиям задачи. Если вам нужно добавить дополнительные проверки или исключения, пожалуйста, сообщите об этом.
Знаешь ответ?
Задать вопрос
Привет!
hello