문제
$1$부터 $N$까지의 정수를 한 번씩만 사용하여 다음 조건을 만족하는 수열 $P_1$, $P_2$, $\cdots$, $P_N$을 출력하라.
- $P_1=K$
- $P_{P_1}=P_2$
- $P_{P_{P_1}}=P_3$
- $P_{\underbrace{P_{P_{\dots_{P_1}}}}_{i-1\text{번}}}=P_i$ $(2\le i\le N)$
입력
첫째 줄에 테스트 케이스의 개수 $T$가 주어진다. $(1\le T\le 100\, 000)$
둘째 줄부터 각 테스트 케이스마다 $1$개의 줄에 양의 정수 $N$, $K$가 공백으로 구분되어 주어진다. $(1\le N\le 100\, 000$; $1\le K\le N)$
모든 테스트 케이스의 $N$의 합은 $100\, 000$을 넘지 않는다.
출력
각 테스트 케이스마다 주어진 순서대로 $1$개의 줄에,
- 만약 조건을 만족하는 수열이 있다면 수열 $P_1$, $P_2$, $\cdots$, $P_N$을 공백으로 구분하여 출력한다.
- 만약 조건을 만족하는 수열이 없다면
-1을 출력한다.
예제 입력 1
2 4 1 3 2
예제 출력 1
-1 2 3 1
출처
Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2026. 01-02. C번
- 문제를 만든 사람: wapas
- 문제를 검수한 사람: chogahui05, cologne, utilforever