페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4184

순열정복 8 (완결) 1s 64MB

문제

순열정복 과정의 대단원이다. 아~~하고 여러분들이 아쉬워하는 소리가 여기까지 들린다.

"더 이상 이 Fun Fun한 재미를 느낄 수 없다니 ㅠㅠ"

 

오늘 여러분들에게는 배열이 하나 주어진다. 여러분들의 목적은 아래 조건을 만족하는 모든 부분 배열을 출력하는 것이다.

 

- <조건>: 부분 배열에서 인접한 수의 차이가 K를 넘지 않는다. 

 

이 문제에서 "부분 배열"이라 함은, 원래 순서를 바꾸지 않고 배열에서 한개 이상의 수를 골라서 만든 배열을 말한다.

 

예를 들어 배열 원소 {7,2,5,3} 을 가지고 부분 배열을 만든다면,

{7,2,3}은 부분 배열이지만, {2,3,5}는 부분 배열이 아니다.

 


입력

첫 줄에 배열의 크기인 N과 부분 배열에서 인접한 수끼리의 차의 상한선인 K값이 주어진다.

둘째 줄에 N개의 배열의 원소 Ai가 주어진다.

(1≤N≤​10 , 1≤​K≤​100 , 1≤​Ai​≤​100) 


출력

조건에 맞는 모든 부분 배열을 출력한다.

출력순서는, A1이 포함된 부분 배열을 우선해서 출력하고 포함되지 않은 부분 배열보다,

같은 우선순위끼리는 A2가 포함된 부분 배열을 우선해서 출력하고...

같은 우선순위끼리는 AN이 포함된 부분 배열을 우선해서 출력하는 순서이다.

(길이가 1인 배열도 답이 될 수 있음에 유의한다. 그러나 길이가 0인 빈 배열은 답이 될 수 없다.)

 


예제

4 3

1 7 4 6
1 4 6 

1 4
1
7 4 6
7 4
7 6
7
4 6
4
6

출처

ohjtgood
로그인해야 코드를 작성할 수 있어요.