만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

보석 상자의 수수께끼

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N x N 격자가 시계 방향으로 여러 번 회전되었을 때, 원래 상태로 되돌리는 데 필요한 반시계 방향 90도 회전 횟수를 구합니다.
난이도

쉬움10점 중 3점

유형
행렬, 구현
정답자
아직 제출이 없습니다

문제

네로지아 공주는 진주를 NN개의 열과 NN개의 칸으로 이루어진 정사각형 보석 상자에 보관한다. 공주는 칸마다 서로 다른 개수의 진주를 넣는다. 상자는 각 열에서 위에서 아래로 갈수록 진주 개수가 늘어나고, 각 행에서 왼쪽에서 오른쪽으로 갈수록 진주 개수가 늘어나도록 배치되어 있다.

공주는 장난이 심한 여동생이 놀이하면서 자기 물건을 건드렸다고 의심한다. 특히 보석 상자가 시계 방향으로 90도 회전되었을 것이라고 보며, 여러 번 회전되었을 수도 있다고 생각한다.

아래 그림 (a)는 4×44 \times 4 상자의 원래 배치 예시이다. 그림 (b)는 이 상자를 시계 방향으로 90도 한 번 돌린 모습이다.

각 칸에 들어 있는 진주 개수가 주어질 때, 보석 상자를 원래 상태로 되돌리는 데 필요한 반시계 방향 90도 회전 횟수의 최솟값을 구하는 프로그램을 작성하라.

입력

첫 줄에 상자의 행과 열 개수 NN이 주어진다 (2≤N≤502 \le N \le 50). 이어서 NN개의 줄에 각각 NN개의 정수 Ki,jK_{i,j}가 주어진다. Ki,jK_{i,j}는 ii행 jj열 칸에 들어 있는 진주 개수이다 (0≤Ki,j≤1050 \le K_{i,j} \le 10^5). 행은 위에서 아래로, 열은 왼쪽에서 오른쪽으로 주어진다.

한 줄에 정수 RR만 출력한다. RR은 0, 1, 2, 3 중 하나이며, 상자를 원래 상태로 되돌리기 위해 필요한 반시계 방향 90도 회전 횟수의 최솟값이다.

예제3

  1. 예제 1

    입력
    4
    15 9 7 3
    16 14 10 4
    20 17 11 6
    25 22 19 12
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3
    300 250 150
    280 200 140
    240 190 130
    
    예상 출력
    2
    
  3. 예제 3

    입력
    2
    2 4
    1 3
    
    예상 출력
    3