조니는 여전히 덧셈을 못한다

면접 대비

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

요약
N 곱하기 N 격자의 모든 칸이 행 라벨과 열 라벨의 합으로 표현되는지 판별한다. N은 최대 10이다.
난이도

보통10점 중 4점

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

문제

초등학교 저학년 아이들이 덧셈을 연습하는 한 가지 방법은 덧셈표를 채우게 하는 것이다. 크기가 NN인 덧셈표는 (N+1)×(N+1)(N+1) \times (N+1) 정사각 행렬로, 맨 윗줄과 맨 왼쪽 열에는 임의의 정수 라벨이 적혀 있다(단, 두 라벨이 만나는 왼쪽 위 모서리 칸에는 보통 더하기 기호를 둔다). 나머지 각 칸에는 그 칸이 속한 행의 라벨과 열의 라벨을 더한 값을 적는다.

예를 들어 다음은 크기가 3인 덧셈표이다. 굵게 표시된 값이 라벨이며, 각 내부 칸은 자신의 행 라벨과 열 라벨의 합과 같다(예: 1+3=41 + 3 = 4).

+3-25
14-16
4729
-21-43

아이들이 자라면 반대 문제를 낼 수 있다. 라벨 없이 내부 값만 담긴 N×NN \times N 격자가 주어졌을 때, 각 칸이 그 행의 라벨과 열의 라벨의 합이 되도록 행과 열에 라벨을 붙일 수 있는지, 즉 이 격자가 어떤 올바른 덧셈표의 내부가 될 수 있는지를 판정하라. 라벨 자체를 출력할 필요는 없고, 그런 라벨이 존재하는지 여부만 판정하면 된다.

예를 들어 아래 첫 번째 2×22 \times 2 격자는 어떤 덧셈표의 내부도 될 수 없지만, 두 번째 격자는 될 수 있다.

다음 격자는 덧셈표가 아니다:

14
35

다음 격자는 덧셈표가 맞다:

36
25

입력

입력의 첫 줄에는 테스트 케이스의 개수를 나타내는 정수 DD가 주어진다. 각 테스트 케이스의 첫 줄에는 표의 크기를 나타내는 정수 NN (N≤10N \le 10)이 주어진다. 이어서 NN개의 줄에 각각 NN개의 정수가 주어지며, 이는 N×NN \times N 표를 행 우선 순서로 나타낸다. 표의 각 수는 −10000-10000 이상 1000010000 이하이다.

출력

각 테스트 케이스마다 다음 형식으로 한 줄에 결과를 출력한다.

k. result

여기서 kk는 테스트 케이스 번호(1부터 시작)이고, result는 표가 올바른 덧셈표이면 YES, 아니면 NO이다.

예제4

  1. 예제 1

    입력
    3
    3
    4 -1 6
    7 2 9
    1 -4 3
    2
    1 4
    3 5
    2
    3 6
    2 5
    
    예상 출력
    1. YES
    2. NO
    3. YES
    
  2. 예제 2

    입력
    1
    2
    0 3000
    5000 8000
    
    예상 출력
    1. YES
    
  3. 예제 3

    입력
    1
    2
    -10000 -5000
    -8000 -3000
    
    예상 출력
    1. YES
    
  4. 예제 4

    입력
    2
    10
    0 1 2 3 4 5 6 7 8 9
    1 2 3 4 5 6 7 8 9 10
    2 3 4 5 6 7 8 9 10 11
    3 4 5 6 7 8 9 10 11 12
    4 5 6 7 8 9 10 11 12 13
    5 6 7 8 9 10 11 12 13 14
    6 7 8 9 10 11 12 13 14 15
    7 8 9 10 11 12 13 14 15 16
    8 9 10 11 12 13 14 15 16 17
    9 10 11 12 13 14 15 16 17 18
    2
    0 0
    0 1
    
    예상 출력
    1. YES
    2. NO