만드는 중입니다

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

합

면접 대비

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

요약
합이 n이고 길이가 k이며 인접한 항의 차이가 1 이하인 정수 수열을 모두 사전순으로 출력합니다.
난이도

보통10점 중 4점

유형
백트래킹, 재귀, 완전 탐색
정답자
아직 제출이 없습니다

문제

다샤는 수를 합의 형태로 나타내는 것을 좋아한다. 오늘 다샤는 정수 nn을 kk개의 항의 합으로 나타내는 모든 방법을 적어 보려고 한다.

다샤는 항이 너무 빠르게 바뀌는 것을 싫어한다. 구체적으로, 다샤의 표현에서 이웃한 두 항의 차는 최대 1이어야 한다. 항은 양수, 음수, 0을 모두 쓸 수 있고, 항의 순서도 중요하다.

다샤의 조건을 만족하는 모든 표현을 출력한다. 표현은 첫 번째 항으로 정렬하고, 첫 번째 항이 같으면 두 번째 항으로, 첫 두 항이 같으면 세 번째 항으로 정렬하는 식으로 나열한다.

입력

첫 줄에 정수 nn (−15≤n≤15-15\le n \le 15)이 주어진다.

둘째 줄에 정수 kk (1≤k≤151 \le k \le 15)가 주어진다.

전체 표현의 개수는 10510^5를 넘지 않는다고 보장된다.

출력

표현을 한 줄에 하나씩 출력한다. 표현의 첫 항을 제외하고, 양수 항과 0인 항 앞에는 + 기호를 출력한다. 공백은 출력하지 않는다.

예제1

  1. 예제 1

    입력
    2
    4
    
    예상 출력
    -1+0+1+2
    0+0+1+1
    0+1+0+1
    0+1+1+0
    1+0+0+1
    1+0+1+0
    1+1+0+0
    2+1+0-1