아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

동차 정사각형

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

요약
n x n 격자가 주어질 때, 행과 열이 모두 다른 n개 칸을 어떻게 골라도 합이 항상 같은지 판정한다.
난이도

보통10점 중 6점

유형
수학, 행렬, 구현, 그리디
정답자
아직 제출이 없습니다

문제

크기가 nn인 정사각형이 있고, 체커보드처럼 n×nn \times n개의 칸으로 나뉘어 있다. 각 칸에는 정수가 하나씩 쓰여 있다.

두 위치 (x1,y1)(x_1, y_1)와 (x2,y2)(x_2, y_2)가 독립이라는 것은 서로 다른 행과 서로 다른 열에 있다는 뜻이다. 즉 x1≠x2x_1 \neq x_2이고 y1≠y2y_1 \neq y_2이다. nn개의 위치가 독립이려면 그중 어떤 두 위치도 서로 독립이어야 한다. 이렇게 서로 독립인 nn개의 위치를 고르는 방법의 수는 정확히 n!n!가지이다(각 행에서 한 칸씩, 각 열에서도 한 칸씩 고르는 것과 같다).

정사각형이 동차(homogeneous)라는 것은, 독립인 nn개의 위치를 어떻게 고르더라도 그 칸들에 쓰인 수의 합이 항상 같다는 뜻이다.

정사각형에 쓰인 수가 주어질 때, 그 정사각형이 동차인지 아닌지를 판정하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 정사각형의 크기 nn이 주어진다 (1≤n≤10001 \le n \le 1000). 이어지는 nn개의 줄에는 각 줄마다 nn개의 정수가 공백으로 구분되어 주어진다. 각 수는 −1000000-1000000 이상 10000001000000 이하이다. 입력의 마지막 줄에는 00이 하나 주어지며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스에 대해, 동차 정사각형이면 homogeneous를, 아니면 not homogeneous를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2
    1 2
    3 4
    3
    1 3 4
    8 6 -2
    -3 4 0
    0
    
    예상 출력
    homogeneous
    not homogeneous