Вращение матрицы с ограничениями

Medium
Даны две матрицы A и B размера n×n. За один ход можно повернуть любую квадратную подматрицу на 90° по часовой стрелке. Найдите минимум ходов, чтобы получить B из A; если невозможно — верните −1.

A: 1 2     поворот 2×2     B: 3 1
   3 4     ──────────→        4 2

Примеры:

Вход: {"A": [[1, 2], [3, 4]], "B": [[3, 1], [4, 2]]}
Выход: 1
Объяснение: Один поворот всей матрицы 2×2 превращает A в B → 1.
Вход: {"A": [[1, 2, 3], [4, 5, 6], [7, 8, 9]], "B": [[7, 4, 1], [8, 5, 2], [9, 6, 3]]}
Выход: 1
Объяснение: Поворот всей 3×3 на 90° по часовой даёт B из A → 1 ход.
Вход: {"A": [[1, 2], [3, 4]], "B": [[1, 2], [3, 4]]}
Выход: 0
Объяснение: A уже совпадает с B → 0 ходов.

Ограничения:

n == A.length == B.length n == A[i].length == B[i].length 1 <= n <= 10 1 <= A[i][j], B[i][j] <= 100

Теги:

Матрица

Комментарии (0)

Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!