야찌는 원래 주사위를 가지고 하는 게임이지만, 이 문제에서는 카드 더미와 다섯 장의 종이를 이용한 게임이다. 이 문제에서 설명하는 규칙은 실제 야찌의 규칙과 다르다는 것을 유의하라.
카드 더미의 각 카드에는 부터 까지의 수 중 하나가 적혀 있고, 다섯 장의 종이는 번부터 번까지 번호가 붙어 있다.
이 게임의 목표는 다음 규칙을 따라서 야찌를 가장 많이 하는 것이다.
덱에는 카드가 개 있다. 그래서 다오는 카드를 최대 번 뽑을 수 있다. 다오는 몰래 카드 덱을 다 조사했기 때문에 카드 덱에 있는 개의 카드에 적힌 수를 순서대로 모두 알고 있다. 다오가 최대한 많은 야찌를 할 수 있는 방법을 구하는 프로그램을 작성하시오.
첫 줄에 덱의 카드 개수 이 주어진다. ()
두 번째 줄에 카드에 적힌 수들이, 위쪽 카드부터, 길이 인
문자열로 주어진다.
이 문자열은 1
부터 6
까지 여섯 가지의 수로만 이루어져 있다.
첫 줄에 최대한 많은 야찌를 했을 때 야찌 횟수를 출력한다.
두 번째 줄에 야찌 횟수를 최대화하기 위해 필요한 총 턴 수 를 출력한다. () 이때, 을 출력하면, 채점 방식에 따른 부분 점수를 얻을 수 있다.
이후의 줄들에 각 턴에서 어떻게 플레이해야 하는지 턴 차례대로 출력한다.
번째 턴에 대한 정보는 다음 양식으로 출력한다.
Turn i
를 출력한다.다시 뽑기의 정보는 다음 양식으로 한 줄에 출력한다:
만약, 답이 여러 가지인 경우 그중 아무거나 하나 출력한다.
5 12346
0 1 Turn 1 0
8 11123111
1 1 Turn 1 1 2 4 5
10 1234566666
1 2 Turn 1 0 Turn 2 0
예제 1에서, 턴 수 이므로, 적어도 한 턴은 플레이해야 함에 유의하라.
예제 2에서, 다음과 같은 방법으로 야찌를 번 할 수 있다.
각 데이터에 대해, 이고 최대 야찌 횟수가 올바르면 의 점수를 얻을 수 있다.
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 21점
종류 2: 43점
종류 3: 19점
모든 카드에 과 만 적혀 있다.
종류 4: 17점
추가적인 제한 조건이 없음.