만드는 중입니다

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

Vestigium

면접 대비

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

요약
N x N 행렬의 대각선 합을 구하고, 같은 값이 두 번 이상 나타나는 행과 열의 개수를 셉니다.
난이도

쉬움10점 중 2점

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

문제

Vestigium은 라틴어로 '흔적'이라는 뜻이다. 이 문제에서는 라틴 방진과 행렬의 대각합을 다룬다.

정사각 행렬의 대각합은 왼쪽 위에서 오른쪽 아래로 이어지는 주대각선에 있는 값들의 합이다.

N×NN \times N 행렬의 각 칸에 서로 다른 NN개의 값 중 하나가 들어 있고, 같은 행이나 같은 열에 같은 값이 반복되지 않으면 라틴 방진이다. 이 문제에서는 NN개의 값이 1부터 NN까지의 정수인 자연 라틴 방진만 다룬다.

1부터 NN까지의 정수만 담긴 행렬이 주어지면 대각합을 구하고, 자연 라틴 방진인지 확인한다. 자연 라틴 방진인지 여부만 답하는 대신, 같은 값이 반복되는 행의 수와 열의 수를 함께 센다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다. 각 테스트 케이스는 행렬의 크기 NN만 담긴 줄로 시작한다. 그 다음 NN개의 줄에 걸쳐 ii번째 줄마다 NN개의 정수 Mi,1,Mi,2,…,Mi,NM_{i,1}, M_{i,2}, \ldots, M_{i,N}이 주어진다. Mi,jM_{i,j}는 행렬의 ii행 jj열에 있는 정수다.

출력

각 테스트 케이스마다 Case #x: k r c 형식의 한 줄을 출력한다. xx는 1부터 시작하는 테스트 케이스 번호, kk는 행렬의 대각합, rr은 반복되는 원소를 포함한 행의 수, cc는 반복되는 원소를 포함한 열의 수다.

제한

  • 1≤T≤1001 \le T \le 100.
  • 2≤N≤1002 \le N \le 100.
  • 모든 i,ji, j에 대해 1≤Mi,j≤N1 \le M_{i,j} \le N.

힌트

예제 #1의 입력은 자연 라틴 방진이므로 반복되는 원소가 있는 행이나 열이 없다. 주대각선의 네 값이 모두 1이므로 대각합은 4다.

예제 #2에서는 모든 행과 모든 열에 반복되는 원소가 있다. 반복되는 원소가 있는 행이나 열은 몇 개의 값이 반복되는지, 몇 번 반복되는지와 상관없이 한 번만 센다. 또한 1부터 NN까지의 정수 중 일부는 입력에 나타나지 않을 수 있다.

예제 #3에서는 가장 왼쪽 열과 가장 오른쪽 열에 반복되는 원소가 있다.

예제1

  1. 예제 1

    입력
    3
    4
    1 2 3 4
    2 1 4 3
    3 4 1 2
    4 3 2 1
    4
    2 2 2 2
    2 3 2 3
    2 2 2 3
    2 2 2 2
    3
    2 1 3
    1 3 2
    1 2 3
    
    예상 출력
    Case #1: 4 0 0
    Case #2: 9 4 4
    Case #3: 8 0 2