만드는 중입니다

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

생물학

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

요약
A개의 랭크와 B개의 슈트로 이루어진 덱에서 두 장의 카드를 고정했을 때, 아홉 가지 포커 족보별로 가능한 다섯 장 조합의 수를 센다.
난이도

보통10점 중 6점

유형
조합론, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

베라는 카드 A×BA \times B장을 가지고 있다. 각 카드에는 00 이상 A−1A - 1 이하의 정수인 랭크와 00 이상 B−1B - 1 이하의 정수인 무늬가 하나씩 적혀 있고, 모든 카드는 서로 다르다. 서로 다른 카드 다섯 장으로 이루어진 모음을 패라고 한다.

모든 패는 11번부터 99번까지 번호가 붙은 아홉 가지 족보 중 정확히 하나에 속한다. 한 패가 여러 족보의 조건을 동시에 만족하면 그중 번호가 가장 작은 족보에 속한다. 족보 규칙은 다음과 같다.

  1. 스트레이트 플러시: 스트레이트이면서 플러시이다.
  2. 포카드: 카드 네 장의 랭크가 같다.
  3. 풀하우스: 카드 세 장의 랭크가 같고, 남은 두 장의 랭크도 서로 같다.
  4. 플러시: 다섯 장의 무늬가 모두 같다.
  5. 스트레이트: 다섯 장의 랭크를 오름차순으로 나열하면 어떤 정수 xx에 대해 x,x+1,x+2,x+3,x+4x, x + 1, x + 2, x + 3, x + 4이다.
  6. 트리플: 카드 세 장의 랭크가 같다.
  7. 투 페어: 카드 두 장의 랭크가 같고, 다른 두 장의 랭크도 서로 같다.
  8. 원 페어: 카드 두 장의 랭크가 같다.
  9. 하이 카드: 위의 어느 족보 조건도 만족하지 않는다.

베라는 지금 랭크가 a1a_1, a2a_2이고 무늬가 b1b_1, b2b_2인 카드 두 장을 들고 있다. 남은 카드 중에서 세 장을 더 골라 들고 있는 두 장과 합쳐 패를 만든다. 이렇게 만들 수 있는 서로 다른 패가 각 족보마다 몇 개인지 구하라.

입력

첫째 줄에 정수 AA와 BB가 주어진다. (5≤A≤255 \le A \le 25, 1≤B≤41 \le B \le 4)

둘째 줄에 정수 a1a_1, b1b_1, a2a_2, b2b_2가 주어진다. (0≤a1,a2≤A−10 \le a_1, a_2 \le A - 1, 0≤b1,b2≤B−10 \le b_1, b_2 \le B - 1, (a1,b1)≠(a2,b2)(a_1, b_1) \neq (a_2, b_2))

출력

한 줄에 정수 아홉 개를 공백으로 구분해 출력한다. ii번째 수는 ii번 족보에 속하는 서로 다른 패의 개수이다. 즉 스트레이트 플러시부터 하이 카드까지 족보 번호가 커지는 순서로 출력한다.

힌트

랭크가 aa이고 무늬가 bb인 카드를 (a,b)(a, b)로 나타내자.

첫 번째 예제에서 베라는 (1,0)(1, 0)과 (3,1)(3, 1)을 들고 있다. 여기에 (3,0)(3, 0), (4,0)(4, 0), (4,1)(4, 1)을 고르면 랭크가 33인 카드 두 장과 랭크가 44인 카드 두 장이 생기므로 이 패는 투 페어이다. 이 패는 원 페어 조건도 만족하지만, 투 페어의 번호가 더 작으므로 투 페어로 센다.

예제2

  1. 예제 1

    입력
    5 2
    1 0 3 1
    
    예상 출력
    0 0 0 0 8 0 12 36 0
    
  2. 예제 2

    입력
    13 4
    0 0 1 0
    
    예상 출력
    1 2 18 164 63 308 792 7920 10332