頁面無法載入?點擊這裡可能會修復。
Placeholder

#10359

베스티지움 20s 1024MB

問題

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
샘플 케이스 #1에서는 입력이 자연 라틴 정사각형으로, 어떤 행이나 열도 중복 원소가 없다. 주대각선의 네 값이 모두 1이므로 트레이스(합)는 4이다. 샘플 케이스 #2에서는 모든 행과 열에 중복 원소가 있다. 중복 원소가 있는 행/열은 중복 개수나 빈도와 무관하게 한 번만 센다는 점에 유의하라. 또한 1부터 N까지의 정수가 입력에 없을 수도 있다. 샘플 케이스 #3에서는 가장 왼쪽과 가장 오른쪽 열에 중복 원소가 있다.

來源

GCJ 2020qr A

需要登入才能撰寫程式碼。