디지털 시계

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

요약
일부 세그먼트가 고장난 7세그먼트 시계에서 1분 간격으로 기록된 화면들을 보고 첫 기록 시점에 가능한 실제 시각을 모두 구하는 문제입니다.
난이도

보통10점 중 7점

유형
비트 연산, 시뮬레이션, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

전자 장비에서 숫자를 표시할 때 가장 널리 쓰이는 부품은 7세그먼트이다. 7세그먼트는 77개의 세그먼트로 하나의 숫자를 나타낸다. 가로 세그먼트 33개와 세로 세그먼트 44개로 이루어져 있으며, 각 세그먼트는 켜지거나 꺼질 수 있고 서로 독립적으로 동작한다.

각 세그먼트에는 다음과 같이 이름을 붙인다.

  • a: 위쪽 가로
  • b: 오른쪽 위 세로
  • c: 오른쪽 아래 세로
  • d: 아래쪽 가로
  • e: 왼쪽 아래 세로
  • f: 왼쪽 위 세로
  • g: 가운데 가로

00부터 99까지의 숫자는 아래 표에서 불이 켜지는 세그먼트로 나타낸다.

숫자켜지는 세그먼트
0a, b, c, d, e, f
1b, c
2a, b, d, e, g
3a, b, c, d, g
4b, c, f, g
5a, c, d, f, g
6a, c, d, e, f, g
7a, b, c
8a, b, c, d, e, f, g
9a, b, c, d, f, g

여러 자리의 숫자를 동시에 보여주려면 7세그먼트를 여러 개 나란히 놓으면 된다. 예를 들어 시계는 7세그먼트 44개를 사용해 시 (0000~2323)와 분 (0000~5959)을 표시한다. 따라서 시계 하나에는 세그먼트가 모두 2828개 있다.

현수는 길을 가다 고장난 알람 시계를 하나 주웠다. 이 시계는 올바른 시각을 늘 보여 주지는 않는데, 현수는 그 원인이 7세그먼트의 일부가 망가졌기 때문이라고 생각한다.

고장난 세그먼트는 절대 불이 켜지지 않는다. 나머지 세그먼트는 정상적으로 동작한다. 시계를 이루는 2828개의 세그먼트는 각각 완전히 고장났거나(어떤 경우에도 불이 켜지지 않는다) 완벽하게 동작한다(켜져야 할 때 켜지고 꺼져야 할 때 꺼진다). 어떤 세그먼트가 고장났는지는 관찰하는 동안 바뀌지 않는다.

현수는 지금 시각이 궁금하다. 그래서 시계를 바라보며 11분에 한 번씩, 그때 표시된 시각을 종이에 적었다. 연달아 적은 두 기록 사이에는 실제 시간이 정확히 11분 흐른다. (시계가 고장났기 때문에 표시되는 시각은 여러 분 동안 그대로일 수도 있다.)

현수가 적어 놓은 시각들이 순서대로 주어질 때, 가장 처음 기록했을 때 실제 시각으로 가능한 것을 모두 구하는 프로그램을 작성하시오. 앞서 말했듯 각 세그먼트는 완전히 고장났거나(불이 절대 켜지지 않는다) 완벽하게 동작한다(켜져야 하면 켜지고 꺼져야 하면 꺼진다).

정답이 여러 개일 수 있으며, 이 경우 가능한 시각을 모두 구한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 테스트 케이스는 먼저 시계를 관찰한 횟수 NN이 주어진다 (1≤N≤501 \le N \le 50). 이어서 NN개의 시각이 관찰한 순서대로 주어진다. 각 시각은 시와 분을 두 자리 숫자로 적고 그 사이를 :로 구분한 HH:MM 형식이다.

7세그먼트가 표시한 모양이 00부터 99까지의 숫자로 해석되지 않을 수도 있지만, 알 수 없는 이유로 현수가 시계를 관찰하는 동안에는 그런 일이 일어나지 않는다. 즉 주어지는 네 자리는 항상 유효한 숫자 모양이다.

테스트 케이스는 파일의 끝까지 이어진다.

출력

각 테스트 케이스마다 가장 처음 기록했을 때 가능한 실제 시각을 모두 오름차순으로, 한 줄에 공백으로 구분하여 출력한다. 출력하는 시각은 항상 올바른 시각(시 0000~2323, 분 0000~5959)이어야 한다. 가능한 시각이 없으면 none을 출력한다.

예제2

  1. 예제 1

    입력
    1 88:88
    2 23:25 23:26
    3 71:57 71:57 71:07
    
    예상 출력
    none
    23:25
    00:58 03:58 07:58 08:58
    
  2. 예제 2

    입력
    1 12:34
    
    예상 출력
    02:34 02:38 02:39 08:34 08:38 08:39 12:34 12:38 12:39 18:34 18:38 18:39