| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 180 | 71 | 56 | 40.288% |
문제에서의 마작은 실제 마작과 다를 수 있습니다.
마작은 중국에서 유래한 게임으로 패를 가져오고 버리는 것을 반복해서 특정 형태를 만드는 게임이다. 패는 수패와 자패 두 종류가 존재한다. 수패는 모양과 수로 구성되어 있다. 수패의 모양은 삭, 통, 만 세 종류 중 하나이며, 수패의 수는 1부터 9까지의 수 중 하나이다. 따라서 총 스물일곱 종류의 수패가 존재한다. 자패는 모양만으로 이루어져 있으며 모양은 동, 남, 서, 북, 백, 발, 중 일곱 종류 중 하나이다. 각 패는 4장씩 들어간다. 따라서, 1삭-9삭, 1통-9통, 1만-9만 4장, 동, 남, 서, 북, 백, 발, 중 모두 각 4장으로 총 136장의 패를 가지고 게임을 한다. 처음에는 136장의 패 중 13장의 패를 가지고 시작한다. 남은 패 중에서 하나를 가져왔을 때, 가진 14장의 패가 유효한 조합일 경우 "츠모" 선언을 하고 게임에서 승리한다. 만약 "츠모" 선언을 하지 못했을 경우 원하는 패를 버리고 새로운 패를 가져오는 것을 반복한다. 13장의 패를 가지고 있을 때 다른 한 장의 패만 있으면 "츠모" 선언을 할 수 있는 경우 이를 "텐파이" 상태라고 한다.
유효한 조합의 14장의 패는 머리 1개와 몸통 4개로 분리된다. 머리는 같은 패 2장으로 이루어져 있다. 하나의 몸통은 3장의 패로 이루어지는데 "슌쯔"형태와 "커쯔"형태가 존재한다. "슌쯔"는 연속된 수가 적힌 같은 모양의 수패 3장으로 이루어진다. 자패는 수가 없으므로 "슌쯔"를 만들 수 없다는 점에 유의하라. "커쯔"는 같은 패 3장으로 이루어져 있다.
일반적인 조합은 위와 같으나 특이한 형태의 유효한 조합으로 "치또이츠"와 "국사무쌍"이 존재한다. "치또이츠"는 14장의 패 중 머리만 7장인 경우를 뜻한다. 이 때 똑같은 패가 4장이 있는 경우는 "치또이츠"로 인정하지 않는다. "국사무쌍"은 1삭, 9삭, 1만, 9만, 1통, 9통, 동, 남, 서, 북, 백, 발, 중 13장의 패를 포함하고 나머지 하나는 이 13장의 패 중 같은 패를 사용하는 것으로 이루어진다.
주어진 입력 13장의 패가 "텐파이"상태라면 "츠모"하기 위한 마지막 한 장의 패가 어떤 패가 될 수 있는지 구해주는 프로그램을 만들어 주자.
13장의 패가 공백으로 구분되어 주어진다.
삭 패는 s, 통 패는 t, 만 패는 m으로 주어지며 수는 알파벳 앞에 붙는다. 동 패는 e, 남 패는 s, 서 패는 w, 북 패는 n, 백 패는 h, 발 패는 b, 중 패는 j로 주어진다.
주어진 패가 "텐파이"상태라면 첫 번째 줄에 tenpai를 출력하고 두 번째 줄에 "츠모"를 할 수 있는 마지막 한 장의 패가 몇 종류 있는지 정수 하나를 출력한다. 세 번째 줄에는 "츠모"를 할 수 있는 마지막 한 장의 패의 종류를 사전순으로 정렬 후 공백으로 구분하여 출력한다.
주어진 패가 "텐파이"상태가 아니라면 첫 번째 줄에 no tenpai를 출력한다.
1s 2s 3s 6s 7s 5t 6t 7t 7t 7t 7t 9m 9m
tenpai 2 5s 8s
w w s s n n h h b b j j 8s
tenpai 1 8s
1s 3s 5s 7s b b b j j j 7t 8t 9t
no tenpai
3s 3s 3s 3s 4s 4s 5s 5s 1t 2t 3t 3t 3t
tenpai 2 3t 6s
3통을 가져왔을 경우 3삭 2개를 머리로 사용한 후 3삭 4삭 5삭의 슌쯔를 몸통1, 3삭 4삭 5삭의 슌쯔를 몸통3, 1통 2통 3통의 슌쯔를 몸통3, 3통 3통 3통의 커쯔를 몸통4로 볼 수 있다.
6삭을 가져왔을 경우 3통 2개를 머리로 사용한 후 3삭 3삭 3삭의 커쯔를 몸통1, 3삭 4삭 5삭의 슌쯔를 몸통2, 4삭 5삭 6삭의 슌쯔를 몸통3, 1통 2통 3통의 슌쯔를 몸통4로 볼 수 있다.
3삭을 가져왔을 경우 3통 2개를 머리로 사용한 후 3삭 3삭 3삭의 커쯔를 몸통1, 3삭 4삭 5삭의 슌쯔를 몸통2, 3삭 4삭 5삭의 슌쯔를 몸통3, 1통 2통 3통의 슌쯔를 몸통4로 볼 수 있지만 이 경우 3삭 5장이 필요하므로 불가능하다.
따라서 "츠모"선언을 하기 위해 가져올 수 있는 패는 3통, 6삭 2개다.
사전순의 정의는 아래와 같다.
두 문자열의 길이가 다를 경우 길이가 작은 문자열에 모든 문자보다 작다고 판별하는 특별한 문자를 두 문자열의 길이가 같아질 때까지 문자열의 끝에 추가한다. 두 문자열의 길이가 같을 경우 첫 번째 문자부터 순서대로 비교하면서 같은 문자라면 다음 문자로 넘어가고 다른 문자라면 그때 작은 문자를 가지고 있는 문자열이 사전순으로 작다.
Contest > BOJ User Contest > 유틸컵 > 제1회 유틸컵 - Chapter 1 F번