생물학
시간 제한2초메모리 제한512 MB
A개의 랭크와 B개의 슈트로 이루어진 덱에서 두 장의 카드를 고정했을 때, 아홉 가지 포커 족보별로 가능한 다섯 장 조합의 수를 센다.
문제
베라는 카드 장을 가지고 있다. 각 카드에는 이상 이하의 정수인 랭크와 이상 이하의 정수인 무늬가 하나씩 적혀 있고, 모든 카드는 서로 다르다. 서로 다른 카드 다섯 장으로 이루어진 모음을 패라고 한다.
모든 패는 번부터 번까지 번호가 붙은 아홉 가지 족보 중 정확히 하나에 속한다. 한 패가 여러 족보의 조건을 동시에 만족하면 그중 번호가 가장 작은 족보에 속한다. 족보 규칙은 다음과 같다.
- 스트레이트 플러시: 스트레이트이면서 플러시이다.
- 포카드: 카드 네 장의 랭크가 같다.
- 풀하우스: 카드 세 장의 랭크가 같고, 남은 두 장의 랭크도 서로 같다.
- 플러시: 다섯 장의 무늬가 모두 같다.
- 스트레이트: 다섯 장의 랭크를 오름차순으로 나열하면 어떤 정수 에 대해 이다.
- 트리플: 카드 세 장의 랭크가 같다.
- 투 페어: 카드 두 장의 랭크가 같고, 다른 두 장의 랭크도 서로 같다.
- 원 페어: 카드 두 장의 랭크가 같다.
- 하이 카드: 위의 어느 족보 조건도 만족하지 않는다.
베라는 지금 랭크가 , 이고 무늬가 , 인 카드 두 장을 들고 있다. 남은 카드 중에서 세 장을 더 골라 들고 있는 두 장과 합쳐 패를 만든다. 이렇게 만들 수 있는 서로 다른 패가 각 족보마다 몇 개인지 구하라.
입력
첫째 줄에 정수 와 가 주어진다. (, )
둘째 줄에 정수 , , , 가 주어진다. (, , )
출력
한 줄에 정수 아홉 개를 공백으로 구분해 출력한다. 번째 수는 번 족보에 속하는 서로 다른 패의 개수이다. 즉 스트레이트 플러시부터 하이 카드까지 족보 번호가 커지는 순서로 출력한다.
힌트
랭크가 이고 무늬가 인 카드를 로 나타내자.
첫 번째 예제에서 베라는 과 을 들고 있다. 여기에 , , 을 고르면 랭크가 인 카드 두 장과 랭크가 인 카드 두 장이 생기므로 이 패는 투 페어이다. 이 패는 원 페어 조건도 만족하지만, 투 페어의 번호가 더 작으므로 투 페어로 센다.