Как мы можем решить эту проблему генерал
# Мы задали матрицу и положение квадратной N*N подматрицы,
# Мы должны повернуть эту подматрицу на 90 градусов по часовой стрелке
# А затем вывести всю матрицу целиком
# Например, входная матрица имеет вид,
# 1 2 3 4
# 5 6 7 8
# 9 10 11 12
# 13 14 15 16
# Позиция (x, y) = (1, 1) и значение N = 3
# Выход есть,
# 1 2 3 4
# 5 14 10 6
# 9 15 11 7
# 13 16 12 8
Что я уже пробовал:
Я пробовал в python, но он применим только для тех случаев, когда x и y одинаковы.
def rotate_submat_90_clk(A, x, y, N): for i in range(N//2): for j in range(i, N-i-1): temp = A[i+y][j+x] A[i+y][j+x] = A[N-j-1+x][i+y] A[N-j-1+x][i+y] = A[N-i-1+y][N-j-1+x] A[N-i-1+y][N-j-1+x] = A[j+x][N-i-1+y] A[j+x][N-i-1+y] = temp for i in range(len(A[0])): print(A[i])