A개의 랭크와 B개의 슈트로 이루어진 덱에서 두 장의 카드를 고정했을 때, 아홉 가지 포커 족보별로 가능한 다섯 장 조합의 수를 센다.
보통6조합론수학구현완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB베라는 카드 A×B장을 가지고 있다. 각 카드에는 0 이상 A−1 이하의 정수인 랭크와 0 이상 B−1 이하의 정수인 무늬가 하나씩 적혀 있고, 모든 카드는 서로 다르다. 서로 다른 카드 다섯 장으로 이루어진 모음을 패라고 한다.
모든 패는 1번부터 9번까지 번호가 붙은 아홉 가지 족보 중 정확히 하나에 속한다. 한 패가 여러 족보의 조건을 동시에 만족하면 그중 번호가 가장 작은 족보에 속한다. 족보 규칙은 다음과 같다.
베라는 지금 랭크가 a1, a2이고 무늬가 b1, b2인 카드 두 장을 들고 있다. 남은 카드 중에서 세 장을 더 골라 들고 있는 두 장과 합쳐 패를 만든다. 이렇게 만들 수 있는 서로 다른 패가 각 족보마다 몇 개인지 구하라.
첫째 줄에 정수 A와 B가 주어진다. (5≤A≤25, 1≤B≤4)
둘째 줄에 정수 a1, b1, a2, b2가 주어진다. (0≤a1,a2≤A−1, 0≤b1,b2≤B−1, (a1,b1)=(a2,b2))
한 줄에 정수 아홉 개를 공백으로 구분해 출력한다. i번째 수는 i번 족보에 속하는 서로 다른 패의 개수이다. 즉 스트레이트 플러시부터 하이 카드까지 족보 번호가 커지는 순서로 출력한다.
랭크가 a이고 무늬가 b인 카드를 (a,b)로 나타내자.
첫 번째 예제에서 베라는 (1,0)과 (3,1)을 들고 있다. 여기에 (3,0), (4,0), (4,1)을 고르면 랭크가 3인 카드 두 장과 랭크가 4인 카드 두 장이 생기므로 이 패는 투 페어이다. 이 패는 원 페어 조건도 만족하지만, 투 페어의 번호가 더 작으므로 투 페어로 센다.