제한된 순열
시간 제한2초메모리 제한128 MB
1부터 N까지의 순열 중 각 위치와 값의 차이가 K 이하인 순열의 개수를 비트마스크 DP로 구하는 문제입니다.
문제
1부터 N까지의 정수를 한 번씩 사용해 나열한 것을 길이 N의 순열이라고 한다. 이러한 순열은 모두 N! = N × (N - 1) × ... × 2 × 1가지이다.
순열 P에서 i번째 원소를 P[i]라고 하자. 모든 1 <= i <= N에 대해 |P[i] - i| <= K를 만족하는 순열 P의 개수를 구하시오.
입력
첫째 줄에 자연수 N과 K가 공백으로 구분되어 주어진다. N은 100 이하이고, K는 6 이하이다.
출력
조건을 만족하는 순열의 개수를 첫째 줄에 출력한다.