평소 맞고를 즐겨하는 라미.
영준이와 게임을 할 때마다 돈을 잃는 것에 화가난 라미는 광성이에게 치팅 프로그램을 의뢰한다.
영준이와의 고스톱 게임을 유심히 지켜본 광성이는 영준이의 패턴을 발견하였다. 그가 화투패를 내는 규칙은 의외로 간단했다. 먼저 그는 48장의 카드들에 우선순위를 부여한 후,
먹을 수 있는 패 중 가장 우선순위가 높은 패를 내려놓는다. 만약 먹을 것이 없으면 들고 있는 패 중에서 가장 우선순위가 낮은 패를 내려놓는다.
랜덤하게 섞인 화투와 영준이의 우선순위가 주어졌을 때, 라미가 이기기 위해 내야하는 패의 순서를 출력하시오. 정답이 여러개일 경우 무작위로 1가지를 출력하며, 만약 이기는 것이 불가능할 경우 "IMPOSSIBLE" 을 출력한다.
화투와 게임 룰은 다음과 같다.
화투의 총 48장의 패는 1월부터 12월까지 달을 나누고, 각 달에 해당하는 패가 4장씩 존재하는 것으로 위의 그림과 같이 구성된다.
편의상 각 월의 패에 차례대로 A, B, C, D를 붙이자.
즉, 1A 는 1월의 첫번째 패를, 12D는 12월의 마지막 패를 의미한다.
맞고는 화투로 하는 카드 게임 중 하나로 두명이서 진행을 한다. 영준이와 라미는 맞고를 아래와 같은 방법으로 진행을 하고 있다.
*화투에서 패를 먹는것은, 바닥에 있는 패 중에서 내려놓는 패와 월이 같은 패 1장을 같이 가져가는것을 의미한다.
-
게임은 항상 영준이가 먼저 시작한다.
-
패를 돌린다. 처음 10장은 영준이가 갖고, 다음 10장은 라미가 갖는다. 다음 8장을 바닥에 깔고, 나머지 20장을 더미에 쌓는다. 이때 앞에 있는 패가 가장 아래에, 마지막 패가 가장 위에 놓여지게 된다.
-
영준이가 손에 들고 있는 패 중에서 바닥에 있는 패를 먹을 수 있는 것 부터 먼저 내려 놓는다.
-
바닥의 패를 먹을 수 있는 패가 여러장 일 경우 그 중 가장 우선순위가 높은 패 부터 내려 놓는다.
-
바닥에 있는 패 중에서 내려놓은 패와 월이 같은 패 1장을 같이 가져간다. 동일한 월의 패가 바닥에 여러장 있을 경우 A, B, C, D 순으로 1장만 가져간다.
-
바닥에 먹을 수 있는 패가 없는 경우, 전체 패 중에서 가장 우선순위가 낮은 패를 내려 놓는다.
-
영준이가 더미의 가장 위에서 패를 뒤집어 바닥에 내려놓는다.
-
바닥에 있는 패 중에서 내려놓은 패와 월이 같은 패 1장을 같이 가져간다. 동일한 월의 패가 바닥에 여러장 있을 경우 A, B, C, D 순으로 1장만 가져간다.
-
바닥에 동일한 월의 패가 없는 경우 뒤집은 패를 바닥에 둔다.
-
라미가 손에 들고 있는 패를 내려 놓는다.
-
바닥에 있는 패 중에서 내려놓은 패와 월이 같은 패 1장을 같이 가져간다. 동일한 월의 패가 바닥에 여러장 있을 경우 A, B, C, D 순으로 1장만 가져간다.
-
바닥에 동일한 월의 패가 없는 경우 바닥에 그대로 둔다.
-
라미가 더미의 가장 위에서 패를 뒤집어 바닥에 내려놓는다.
-
바닥에 있는 패 중에서 내려놓은 패와 월이 같은 패 1장을 같이 가져간다. 동일한 월의 패가 바닥에 여러장 있을 경우 A, B, C, D 순으로 1장만 가져간다.
-
바닥에 동일한 월의 패가 없는 경우 뒤집은 패를 바닥에 둔다.
-
서로의 패를 다 소진할 때까지 3 ~ 6을 반복한다.
-
게임이 끝나면 각자가 먹은 패를 아래 점수 계산 방법에 따라 점수를 계산하여 승자를 가린다.
최종 점수 계산은 다음과 같다.
-
광: [1A, 3A, 8A, 11A, 12A] 중 3개를 먹었을 경우 3점, 4개일 경우 4점, 5개일 경우 15점
-
멍따: [2A, 4A, 5A, 6A, 7A, 8B, 10A, 12B] 중 5개를 먹었을 경우 1점, 6개 2점, 7개 3점. 8개 4점.
-
고도리: [2A, 4A, 8B] 를 모두 모으면 5점.
-
청단: [6B, 9B, 10B] 를 모두 모으면 3점.
-
홍단: [1B, 2B, 3B] 를 모두 모으면 3점.
-
초단: [4B, 5B, 7B] 를 모두 모으면 3점.
-
띠: [1B, 2B, 3B, 4B, 5B, 6B, 7B, 9B, 10B, 12C] 중 5개를 먹었을 경우 1점. 이후 1개 먹을때마다 1점씩 증가. (5개 1점, 6개 2점, ...)
-
피점수: [9A, 11B, 1C, 2C, 3C, 4C, 5C, 6C, 7C, 8C, 9C, 10C, 11C, 1D, 2D, 3D, 4D, 5D, 6D, 7D, 8D, 9D, 10D, 11D, 12D] 중 10개 이상부터 1점씩 증가. (10개 1점, 11개 2점, 12개 3점.....)
문제 이해를 위해 도움말을 반드시 참고하세요