아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

프셰스미크족의 수 표기법

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

요약
연속된 -가 최대 m1개인 수 표기를, m2개 제한 규칙에서 같은 순번을 갖는 표기로 바꿔 출력한다.
난이도

어려움10점 중 8점

유형
조합론, 수학, 동적 계획법, 구현
정답자
아직 제출이 없습니다

문제

프셰스미크(Przesmyks)족은 자연수를 오직 두 기호 - 와 + 만으로 표기했다. 올바른 수 표기는 모두 이 두 기호로 이루어진 비어 있지 않은 문자열이며, 한 가지 규칙을 따른다. 즉 - 기호가 연속으로 mm개를 넘게 나올 수 없다. 경계값 mm은 해마다 바뀌었고 항상 1 이상 113 이하였다.

경계값 mm이 정해지면, 올바른 모든 문자열을 먼저 길이가 짧은 것부터 정렬하고, 길이가 같은 문자열끼리는 사전순으로 정렬한다. 이때 -가 +보다 앞선다. 이렇게 나열한 문자열이 차례대로 0, 1, 2, … 를 나타낸다.

예를 들어 -가 연속으로 최대 한 개까지 허용될 때(m=1m = 1) 수 표기는 다음과 같이 시작한다.

수표기수표기수표기
0-4++8++-
1+5-+-9+++
2-+6-++10-+-+
3+-7+-+11-++-

경계값이 바뀌면 같은 수의 표기도 달라진다. 예컨대 -가 연속으로 두 개 이상 허용되면 수 2는 --로 적는다.

두 경계값과, 첫 번째 경계값으로 표기된 여러 수를 입력받아, 각 수를 두 번째 경계값에 따른 표기로 다시 적어 출력하는 프로그램을 작성하라.

입력

첫째 줄에 세 정수 m1m_1, m2m_2, nn이 공백 하나로 구분되어 주어진다. 1≤m1,m2≤1131 \le m_1, m_2 \le 113, 1≤n≤101 \le n \le 10 이다. m1m_1은 입력으로 주어지는 수 표기에서 -가 연속으로 나올 수 있는 최대 개수의 경계값이고, m2m_2는 출력해야 하는 수 표기에서의 경계값이다. nn은 변환할 수의 개수이다.

다음 nn개의 줄에는 각각 하나의 수 표기(-와 +로 이루어진 문자열)가 주어진다. 각 표기의 길이는 1000자를 넘지 않는다.

출력

nn개의 줄을 출력한다. 각 줄에는 입력으로 주어진 수를 경계값 m2m_2에 따라 다시 표기한 결과를 출력한다.

예제5

  1. 예제 1

    입력
    1 2 3
    -+-
    -+
    +-+
    
    예상 출력
    ++
    --
    -+-
    
  2. 예제 2

    입력
    2 2 4
    -
    +
    --
    +-+
    
    예상 출력
    -
    +
    --
    +-+
    
  3. 예제 3

    입력
    1 3 4
    -
    +
    -+
    +-+
    
    예상 출력
    -
    +
    --
    --+
    
  4. 예제 4

    입력
    3 1 3
    ---
    --+
    +---
    
    예상 출력
    -++
    +-+
    -+++-
    
  5. 예제 5

    입력
    5 1 1
    -
    
    예상 출력
    -