뭔가 이미 있을 것 같은 순열 문제

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

요약
각 테스트 케이스마다 인접한 두 원소의 차가 K가 아닌 1부터 N까지의 순열을 출력하거나, 불가능하면 -1을 출력한다.
난이도

보통10점 중 6점

유형
그리디, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

11부터 NN까지의 정수를 한 번씩만 사용하여 다음 조건을 만족하는 수열 A_1A\_1, A_2A\_2, ⋯\cdots, A_NA\_N을 출력하시오.

  • 인접한 두 원소의 차가 KK가 아니다.

입력

총 TT개의 테스트 케이스가 입력으로 주어지며, 첫 번째 줄에 TT가 주어진다. (1≤T≤50,000)(1 \le T \le 50\\,000)

그다음 줄부터 각 테스트 케이스마다 하나의 줄에 양의 정수 NN, KK가 공백으로 구분되어 주어진다. (2≤N≤100,000(2 \le N \le 100\\,000; 1≤K≤100,000)1 \le K \le 100\\,000)

모든 테스트 케이스의 NN의 합은 100,000100\\,000을 넘지 않는다.

출력

각 테스트 케이스마다 주어진 순서대로 한 개의 줄에,

  • 만약 조건을 만족하는 수열이 있다면 수열 A_1A\_1, A_2A\_2, ⋯\cdots, A_NA\_N을 공백으로 구분하여 출력한다. 가능한 답이 여러 개라면 그중 아무 것이나 출력한다.
  • 만약 조건을 만족하는 수열이 없다면 -1을 출력한다.

예제1

  1. 예제 1

    입력
    2
    2 1
    5 2
    
    예상 출력
    -1
    4 1 5 2 3