리프트
문제 정보
-
- 문제 ID
- 시간 제한
- 메모리 제한
- 제출 횟수
- 정답 횟수 (비율)
-
- 출처
- 분류
문제
스키장은 수많은 연인들이 데이트를 하기 좋은 장소 중 하나다. 특히 크리스마스와 발렌타인 데이에 가장 많은 커플들이 스키를 즐긴다. ICU졸업생 두 분이 설립한 DJ_Koo Resort 스키장에서는 그런 날에는 특별히 커플리프트를 운행한다.
커플리프트는 n명이 같이 탈 수 있게 되어 있으며 특별히 커플들만 리프트를 탈 수 있다. 커플들은 리프트를 타기 위해 m X n 격자상에서 기다리고 있으며 각 커플은 인접한 열에서 기다리고 있다.
문제는 커플 중 한사람이 본의 아니게 더 뒤에 서는 경우가 있다는 것이다. 이런 경우 한사람이 다른 한사람을 기다리게 되고 그 열은 정체되게 된다. 또한 X자 형태로 두 커플이 기다리게 되면 둘중 한 커플은 같이 타는 것을 포기해야만 한다.
자, n명이서 탈 수 있는 커플리프트가 있다. m X n 격자상에 커플리프트를 타기 위해 기다리는 커플들이 있을 때, 최대한 많은 커플을 리프트에 같이 태우는 프로그램을 작성하라.
입력
첫째 줄에는 테스트 케이스의 개수 T가 주어진다. ( T <= 30 )
각 입력의 첫 줄에는 리프트의 크기 2 <= n <= 12 과 기다리는 줄의 길이를 의미하는 m <= 1000 이 주어진다. 다음 m줄에 걸쳐, 각 줄에 n개의 정수가 주어진다.
같은 커플은 같은 양수로 주어진다. 빈 공간은 0으로 주어지며, 양수 k <= 10000 는 정확히 두 번씩 나오며, 항상 인접한 열에 존재한다.
출력
리프트를 같이 탈 수 있는 총 커플 수를 출력한다.
예제 입력
4 2 1 1 1 3 2 1 1 0 0 2 2 2 2 1 2 2 1 2 3 1 2 2 3 3 1
예제 출력
1 2 1 2
노트