問題
Vestigium은 라틴어로 "자취(trace)"라는 뜻이다. 이 문제에서는 라틴 정방행렬(Latin square)과 행렬의 자취(trace)를 다룬다.
정사각 행렬의 자취(trace)는 주대각선(왼쪽 위에서 오른쪽 아래로 내려가는 대각선) 위의 값들을 모두 더한 값이다.
N×N 정사각 행렬이 라틴 정방행렬(Latin square)이라는 것은, 각 칸이 N개의 서로 다른 값 중 하나를 담고, 어떤 행이나 열에도 같은 값이 반복되지 않는다는 뜻이다. 이 문제에서는 값이 1부터 N까지의 정수인 "자연 라틴 정방행렬"만을 다룬다.
1부터 N까지의 정수만으로 이루어진 행렬이 주어질 때, 그 행렬의 자취를 계산하고 자연 라틴 정방행렬인지 확인하고자 한다. 단순히 자연 라틴 정방행렬인지 여부만 알려 주는 대신, 추가 정보를 위해 같은 값이 반복되는 행의 개수와, 같은 값이 반복되는 열의 개수를 각각 계산하라.
輸入
입력의 첫 줄에는 테스트 케이스 수 T가 주어진다. T개의 테스트 케이스가 이어진다. 각 테스트 케이스는 먼저 탐색할 행렬의 크기 N이 주어진 한 줄로 시작한다. 이어서 N줄이 주어지며, i번째 줄에는 N개의 정수 Mi,1, Mi,2 ..., Mi,N가 주어진다. Mi,j는 행렬의 i번째 행 j번째 열에 있는 정수이다.
輸出
각 테스트 케이스마다 Case #x: k r c 형식의 한 줄을 출력하라.
여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고,
k는 행렬의 자취,
r은 중복된 원소를 포함하는 행의 개수,
c는 중복된 원소를 포함하는 열의 개수이다.
範例
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