에서 영감 에서 촬영 스택 오버플로에서 질문 .
도전
정수가 주어지면 n>1
배열에서 정확히 두 항목을 교환하여 얻을 수있는 모든 배열을 출력합니다 [1, 2, ..., n]
.
어레이는 임의의 순서로 제조 될 수있다.
(1 [0, 1, ..., n-1]
기반) 대신 (0 기반)을 일관되게 사용할 수 있습니다 [1, 2, ..., n]
.
추가 규칙
입력과 출력은 평소처럼 유연합니다 .
모든 프로그래밍 언어의 프로그램 또는 기능 이 허용 됩니다 . 표준 허점 은 금지되어 있습니다.
바이트 단위의 최단 코드가 이깁니다.
테스트 사례
입력 2
은 출력을 제공합니다 (1 기반으로 가정)
2 1
입력 3
은 출력을 제공합니다 (세 개의 배열은 임의 순서로 정렬 될 수 있음)
1 3 2
2 1 3
3 2 1
입력 4
은 출력을 제공합니다
1 2 4 3
1 3 2 4
1 4 3 2
2 1 3 4
3 2 1 4
4 2 3 1
입력 7
은 출력을 제공합니다
1 2 3 4 5 7 6
1 2 3 4 6 5 7
1 2 3 4 7 6 5
1 2 3 5 4 6 7
1 2 3 6 5 4 7
1 2 3 7 5 6 4
1 2 4 3 5 6 7
1 2 5 4 3 6 7
1 2 6 4 5 3 7
1 2 7 4 5 6 3
1 3 2 4 5 6 7
1 4 3 2 5 6 7
1 5 3 4 2 6 7
1 6 3 4 5 2 7
1 7 3 4 5 6 2
2 1 3 4 5 6 7
3 2 1 4 5 6 7
4 2 3 1 5 6 7
5 2 3 4 1 6 7
6 2 3 4 5 1 7
7 2 3 4 5 6 1
[0 ... n-1]
대를 [1 ... n]
! 1+
J 인덱스가 0이기 때문에 항상 짜증을 내야 합니다.