만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

더 게임

시간 제한1초메모리 제한1024 MB

요약
주어진 순서의 뽑을 더미로 솔로 The Game을 고정된 우선순위에 따라 시뮬레이션하고, 최종 행, 손패, 뽑을 더미를 출력합니다.
난이도

보통10점 중 4점

유형
시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

블라디미르는 동네에서 가장 외로운 아이다. 함께 놀아 줄 친구가 없어서, 부모는 그를 격려하려고 The Game이라는 카드 게임을 사 주었다. 이 게임은 최대 5명이 할 수 있지만, 혼자 하는 솔로 모드로도 할 수 있다.

패키지에는 2,3,ldots,992, 3, \\ldots, 99 숫자가 적힌 일반 카드 98장이 들어 있다. 여기에 방향 카드 4장이 더 있다. 그중 두 장에는 위쪽 화살표가 붙은 숫자 1이, 나머지 두 장에는 아래쪽 화살표가 붙은 숫자 100이 적혀 있다.

게임 시작 전에 일반 카드를 섞어 뒷면이 위를 향하도록 탁자에 놓는다. 이것이 뽑기 더미가 된다. 방향 카드 4장은 세로로 나란히 놓되, 숫자 1이 적힌 카드 두 장을 맨 위에 둔다. 각 방향 카드의 오른쪽에는 플레이 중에 일반 카드를 놓을 공간이 있어야 한다. 숫자 1 카드는 오름차순 줄을 시작하고, 숫자 100 카드는 내림차순 줄을 시작한다. 솔로 모드에서 플레이어는 뽑기 더미 위에서부터 카드 8장을 한 장씩 뽑아 손에 든다.

초기 단계가 끝나면 게임이 시작된다. 매 턴 플레이어는 다음 규칙에 따라 손에서 카드 2장을 낸다.

  • 오름차순 줄의 맨 오른쪽 카드보다 큰 카드는 그 줄 끝에 놓을 수 있다.
  • 내림차순 줄의 맨 오른쪽 카드보다 작은 카드는 그 줄 끝에 놓을 수 있다.
  • 오름차순 줄에는 값의 차이가 정확히 10인 더 작은 숫자의 카드를, 내림차순 줄에는 값의 차이가 정확히 10인 더 큰 숫자의 카드를 놓을 수 있다. 이 동작을 역방향 트릭이라고 한다. 이 규칙 때문에 오름차순 줄의 값이 항상 커지지는 않으며, 내림차순 줄의 값도 마찬가지다.

카드 2장을 낸 뒤 플레이어는 뽑기 더미에서 카드 2장을 한 장씩 뽑는다. 이로써 턴이 끝난다. 뽑기 더미가 비어 있으면 더 뽑지 않고 같은 방식으로 계속 진행한다. 손에 카드가 남지 않으면 게임에서 이기고, 손에 남은 카드를 아무것도 낼 수 없으면 게임에서 진다.

블라디미르는 항상 다음 우선순위에 따라 카드를 낸다. 뽑은 카드는 손의 가장 오른쪽에 놓는다.

  1. 역방향 트릭이 가능한 카드가 하나 이상 있으면, 그중 가장 왼쪽 카드를 낸다. 그 카드가 여러 줄에서 역방향 트릭에 쓰일 수 있으면 가장 위에 있는 줄을 고른다.
  2. 그렇지 않으면 일반 방식으로 카드를 낸다. 낼 카드와 놓을 줄을 고를 때, 낼 카드의 값과 줄 끝 카드의 값 차이의 절댓값이 가장 작아지도록 한다. 같은 차이가 나는 카드가 여럿이면 가장 왼쪽 카드를 고른다. 같은 카드를 놓을 줄이 여럿이면 가장 위에 있는 줄을 고른다.

프로그램은 게임이 끝났을 때의 최종 상태를 구해야 한다.

입력

입력은 한 줄이며, 초기 뽑기 더미를 나타내는 2,3,ldots,992, 3, \\ldots, 99 의 순열 98개가 공백으로 구분되어 주어진다. 카드는 뽑기 더미의 위에서 아래 순서로 나열되어 있다.

출력

출력은 여섯 줄이다. 처음 네 줄은 탁자 위 네 줄의 카드를 나타낸다. 다섯째 줄에는 손에 남은 카드를, 여섯째 줄에는 뽑기 더미에 남은 카드를 적는다. 네 줄의 카드와 손의 카드는 왼쪽에서 오른쪽 순서로 나열하고, 뽑기 더미에 남은 카드는 입력과 같이 위에서 아래 순서로 나열한다. 나열할 카드가 없으면 빈 줄을 출력한다.

예제2

  1. 예제 1

    입력
    96 69 40 94 35 7 53 88 10 89 47 37 16 61 24 46 90 6 33 25 63 73 26 81 2 45 77 75 48 57 66 34 59 92 44 11 31 18 9 52 91 50 8 98 5 64 86 62 83 4 19 3 27 97 28 36 23 76 58 30 38 12 39 78 41 56 80 67 70 99 13 42 17 49 84 22 32 29 54 71 51 74 79 95 72 15 87 21 65 68 60 85 55 43 93 20 82 14
    
    예상 출력
    1 7 10 16 6 9 11 18 31 62 64 83 86 91 92 97 98 99
    1 2 5 8 19 23 27 28 30 36 38 39 41 56 58 67 70 76 78 80 84 74 79 95
    100 96 94 89 88 69 61 53 47 46 40 37 35 33 26 25 24 34 44 42 22 32 29 17 13 12 4 3
    100 90 81 77 75 73 66 63 59 57 52 50 48 45 21 15
    49 54 71 51 72 87 65 68
    60 85 55 43 93 20 82 14
    
  2. 예제 2

    입력
    87 31 58 56 82 93 9 68 65 41 26 64 3 11 5 84 24 46 16 30 14 85 52 12 91 75 96 17 47 37 76 69 78 49 25 28 48 81 95 63 34 43 27 74 80 62 53 83 40 71 72 35 23 21 51 66 55 61 67 32 38 29 60 39 4 18 20 77 7 94 59 42 79 10 92 97 57 2 86 33 89 90 88 19 22 99 45 44 73 70 50 6 15 98 54 13 36 8
    
    예상 출력
    1 9 11 16 24 14 17 26 28 30 31 34 62 74 78 80 81 71 72 83 95 96 97 99
    1 3 5 12 25 27 29 38 39 42 59 60 66 67 57 77 79 86 89 90 92 94 98 88
    100 93 87 82 68 65 64 58 56 46 41 37 47 43 53 51 61 55 45 44 33 22 20 19 15 13 10 8 6
    100 91 85 84 76 75 69 63 52 49 48 40 35 32 23 21 18 7 4 2
    73 70 50 54 36