만드는 중입니다

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

고정점이 없는 순열

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

요약
n과 t가 주어질 때, 고정점이 없는 n개 원소의 순열을 사전순으로 처음 t개 출력합니다.
난이도

보통10점 중 6점

유형
백트래킹, 조합론, 구현
정답자
아직 제출이 없습니다

문제

nn개 원소의 순열은 11부터 nn까지의 자연수가 각각 한 번씩 나타나는 길이 nn의 배열이다. 예를 들어 33개 원소의 모든 순열은 [1,2,3][1, 2, 3], [1,3,2][1, 3, 2], [2,1,3][2, 1, 3], [2,3,1][2, 3, 1], [3,1,2][3, 1, 2], [3,2,1][3, 2, 1]이다.

순열의 원소에는 11부터 nn까지 번호가 붙는다. 예를 들어 a=[3,1,2]a = [3, 1, 2]이면 a[1]=3a[1] = 3, a[2]=1a[2] = 1, a[3]=2a[3] = 2이다. 번호 ii인 원소가 a[i]=ia[i] = i를 만족하면 그 원소를 고정점이라고 한다. 순열 [3,1,2][3, 1, 2]에는 고정점이 없고, 순열 [1,3,2][1, 3, 2]에서는 a[1]=1a[1] = 1이 고정점이다.

모든 순열을 사전 순으로 정렬한다. 첫 번째 원소로 먼저 비교하고, 같으면 두 번째 원소로 비교하는 식이다. 문제 앞부분에서 33개 원소의 모든 순열이 사전 순으로 나열되어 있다. 고정점이 없는 순열만 남기면 n=3n = 3일 때 [2,3,1][2, 3, 1]과 [3,1,2][3, 1, 2]가 남는다.

주어진 nn과 tt에 대해, 고정점이 없는 nn개 원소의 순열을 사전 순으로 앞에서부터 tt개 출력한다.

입력

두 정수 nn과 tt가 주어진다 (2≤n≤10002 \le n \le 1000, 1≤t≤1041 \le t \le 10^4, nt≤105nt \le 10^5). 고정점이 없는 nn개 원소의 순열이 적어도 tt개 존재함이 보장된다.

출력

tt개의 줄을 출력한다. ii번째 줄에는 고정점이 없는 nn개 원소의 순열 중 사전 순으로 ii번째인 순열을 nn개의 수로 출력한다.

예제1

  1. 예제 1

    입력
    3 1
    
    예상 출력
    2 3 1