징검다리 뒤로 건너기
시간 제한2초메모리 제한1024 MB
각 칸에서 앞으로 1부터 K칸 또는 뒤로 1칸 이동하는 규칙으로, 돌 1에서 N까지 같은 돌을 두 번 밟지 않는 경로의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
번부터 번까지 번호가 붙은 개의 돌이 순서대로 일렬로 놓여 있습니다. 번 돌에서 출발하여 아래 규칙을 따라 번 돌까지 이동합니다. 정수 가 주어집니다.
- 번 돌에서는 인 정수 에 대해 번 돌로 이동할 수 있습니다.
- 번 돌에서는 번 돌로 이동할 수 있습니다.
- 돌이 없는 위치로는 이동할 수 없습니다.
- 출발점과 도착점을 포함하여, 이미 밟은 돌은 다시 밟을 수 없습니다.
이 규칙에 따라 번 돌에서 번 돌까지 이동하는 경우의 수를 소수 로 나눈 나머지를 구합니다. 밟은 돌의 번호를 순서대로 나열한 수열이 다르면 다른 이동으로 봅니다.
입력
첫 번째 줄에 돌의 개수 과 정수 가 공백으로 구분되어 주어집니다. (; )
출력
첫 번째 줄에 규칙에 따라 번 돌에서 번 돌까지 이동하는 경우의 수를 로 나눈 나머지를 출력합니다.