리프트

문제 정보

문제

스키장은 수많은 연인들이 데이트를 하기 좋은 장소 중 하나다. 특히 크리스마스와 발렌타인 데이에 가장 많은 커플들이 스키를 즐긴다. 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 

노트

1개의 댓글이 있습니다.