문제
교란(완전)순열 (Derangement) 이란 모자를 쓴 N명의 사람들이 모자를 벗었다가 다시 쓰는데,
N명 모두가 자신의 모자가 아닌 모자를 쓰는 경우의 순열이다.
이는 치환에서 자기 자신으로 짝지어지는 부동점이 없는 경우의 순열을 말한다.
이 개념을 처음 제시한 프랑스의 수학자 피에르 레몽 드몽모르(Pierre Raymond de Montmort)의 이름을 따 드몽모르 수라고도 한다.
배열 A[N] = {0, 1, 2, ..., N - 1}을 이용하여 순열을 구할 때,
A[i] ≠ i (i = 0, 1, 2, ..., N - 1) 를 만족하는 교란순열의 수를 구하는 프로그램을 작성하시오.
입력
수열의 크기 N이 주어진다.
(1 <= N <= 1,000,000)
출력
교란순열의 수를 1,000,000,007로 나눈 나머지를 출력한다.
예제 #1
2
1
예제 #2
3
2
태그
출처
comkiwer