포커는 조커가 없는 표준 52장 카드 덱으로 진행합니다. 각 카드는 숫자(rank)와 무늬(suit)를 가집니다.
카드의 숫자를 오름차순으로 나열하면 A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K, A 입니다(A는 가장 높은 카드도, 가장 낮은 카드도 될 수 있습니다). 카드의 무늬를 오름차순으로 나열하면 클럽(c), 다이아몬드(d), 하트(h), 스페이드(s) 입니다. 무늬의 순서는 오직 출력 정렬에만 쓰이며, 패나 카드의 가치를 정하는 데에는 전혀 사용하지 않습니다. 따라서 덱에는 13 x 4 = 52장의 카드가 있습니다.
포커 패(hand)는 다섯 장의 카드로 이루어집니다. 가능한 패를 가장 높은 것부터 낮은 것 순서로 나열하고, 각 패에 대한 예를 굵게 표시했습니다.
홀덤(Hold 'em)은 포커의 한 종류입니다. 각 플레이어는 앞면이 보이지 않게 카드 두 장을 받는데, 이를 홀 카드(hole cards)라고 합니다. 그다음 보드(the board)라고 부르는 다섯 장을 탁자 가운데에 앞면이 보이도록 놓습니다. 플레이어의 패는 자신의 홀 카드 두 장과 보드의 다섯 장을 어떻게 조합하든 만들 수 있는 가장 좋은 다섯 장짜리 포커 패입니다.
당신은 보드의 다섯 장과 자신의 홀 카드 두 장, 즉 일곱 장을 알고 있습니다. 상대의 홀 카드 두 장은 당신이 볼 수 없으며, 덱에 남은 카드 중에서 정해집니다. 상대가 만들 수 있는 가장 좋은 다섯 장짜리 패를 구하세요. (당신이 볼 수 있는 일곱 장이 무엇이든, 상대는 항상 최소한 쓰리 오브 어 카인드는 만들 수 있으므로 그보다 약한 패를 답으로 내는 경우는 없습니다.)
첫째 줄에 데이터 세트의 개수 n이 주어집니다.
각 데이터 세트는 한 줄로 이루어지며, 공백 하나로 구분된 두 글자짜리 문자열 일곱 개가 있습니다. 각 문자열은 카드 하나를 나타내며, 첫 글자는 숫자, 둘째 글자는 무늬입니다. 앞의 다섯 장은 보드이고, 마지막 두 장은 당신의 홀 카드입니다. 카드는 특정한 순서 없이 주어집니다.
각 데이터 세트마다 상대가 만들 수 있는 가장 좋은 다섯 장짜리 패와 그 패의 이름을 한 줄에 출력합니다.
다섯 장의 카드는 먼저 숫자를 기준으로 내림차순(출력에서 에이스는 항상 가장 높은 것으로 취급)으로, 숫자가 같으면 무늬를 기준으로 정렬해 나열합니다. 가장 좋은 패에서 어떤 자리의 카드가 서로 다른 두 개 이상의 무늬가 될 수 있다면(즉 무늬가 동점이라면) 그 무늬를 *로 출력합니다. 무늬로 정렬할 때 *는 가장 낮은 무늬로 취급합니다.
카드 다섯 장 뒤에 패의 이름을 출력합니다. 가능한 이름은 다음과 같습니다: ROYAL FLUSH, STRAIGHT FLUSH, FOUR OF A KIND, FULL HOUSE, FLUSH, STRAIGHT, THREE OF A KIND.