만드는 중입니다

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

스트레이트 플러시

면접 대비

시간 제한5초메모리 제한512 MB

요약
중복 카드를 합친 뒤 같은 무늬에서 이어지는 가장 긴 연속 랭크를 구합니다.
난이도

쉬움10점 중 3점

유형
정렬, 해시맵
정답자
아직 제출이 없습니다

문제

일반적인 포커에서 각 참가자는 카드 다섯 장을 손에 든다. 카드마다 1부터 13까지의 숫자인 랭크와 네 가지 기호 중 하나인 수트가 있다. 예를 들어 7♥의 랭크는 7이고 수트는 ♥(하트)다. 손에 든 카드의 조합이 그 손의 세기를 결정한다.

강한 조합 중 하나가 스트레이트 플러시다. 스트레이트 플러시는 랭크가 연속하고 수트가 모두 같은 조합이다. 3♣, 4♣, 5♣, 6♣, 7♣은 다섯 장 모두 클럽이므로 ♣(클럽) 스트레이트 플러시다.

이 문제에서는 특별한 덱을 쓰는 슈퍼 포커를 한다. 이 덱의 랭크는 1부터 nn까지 nn가지, 수트는 1부터 mm까지 mm가지다. 랭크와 수트가 같은 카드가 덱에 여러 장 있을 수도 있다. 손에 든 카드는 kk장이다. 슈퍼 포커의 스트레이트 플러시는 랭크가 연속하고 수트가 같은 카드 두 장 이상의 조합이다.

카드 수가 가장 많은 스트레이트 플러시를 찾아라. 랭크와 수트가 모두 같은 카드가 여러 장이면 한 장으로 센다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다 (1≤T≤221 \le T \le 22). 이어서 테스트 케이스가 TT개 주어지며, 각 테스트 케이스의 형식은 다음과 같다.

  • 첫째 줄에 세 정수 nn, mm, kk가 주어진다 (1≤n≤1091 \le n \le 10^9, 1≤m≤101 \le m \le 10, 1≤k≤1061 \le k \le 10^6). 차례대로 덱의 랭크 수, 덱의 수트 수, 손에 든 카드 수다.
  • 다음 kk개 줄에 손에 든 카드가 한 장씩 주어진다. 각 줄에는 정수 rr와 ss가 주어지고, rr는 카드의 랭크, ss는 카드의 수트다 (1≤r≤n1 \le r \le n, 1≤s≤m1 \le s \le m). 랭크와 수트가 모두 같은 카드가 두 번 이상 나올 수도 있다.

출력

각 테스트 케이스마다 카드 수가 가장 많은 스트레이트 플러시의 카드 수를 한 줄에 출력한다. 랭크와 수트가 모두 같은 카드가 여러 장이면 한 장으로 센다. 스트레이트 플러시가 없으면 0을 출력한다.

힌트

첫 번째 테스트 케이스의 스트레이트 플러시는 수트 1의 랭크 5와 수트 1의 랭크 6으로 두 장이다. 수트 1의 랭크 5인 카드가 세 장 들어 있지만 한 장으로 센다. 두 번째 테스트 케이스에서는 수트 9의 랭크 96, 97, 98, 99가 네 장짜리 스트레이트 플러시를 이룬다. 마지막 테스트 케이스에는 스트레이트 플러시가 없다.

예제1

  1. 예제 1

    입력
    3
    13 4 7
    5 1
    5 1
    5 1
    6 1
    6 2
    3 1
    4 4
    100 10 9
    99 9
    97 9
    1 9
    98 9
    96 9
    2 1
    3 1
    4 1
    5 9
    100 10 5
    1 1
    3 1
    5 1
    9 1
    2 2
    
    예상 출력
    2
    4
    0