계단 오르기 3


답안 제출

Points: 5
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

계단은 0번째 칸부터 \(N\)번째 칸까지 번호가 붙어 있다. 0번째 칸에서 출발해 \(N\)번째 칸에 도착하려고 한다.

한 번에 1칸, 2칸 또는 3칸을 올라갈 수 있다. 이동 순서가 다르면 서로 다른 방법으로 센다. 예를 들어 1 22 1은 서로 다른 방법이다.

일부 계단은 밟을 수 없다. 밟을 수 없는 계단에 도착하는 이동은 허용되지 않지만, 2칸 또는 3칸 이동으로 그 계단을 뛰어넘을 수는 있다.

총 \(K\)번 이하로 이동하여 \(N\)번째 칸에 도착하는 방법의 수를 구하여라. 출발점과 도착점은 이동 횟수에 포함하지 않는다.

입력

첫째 줄에 \(N\), \(K\), 밟을 수 없는 계단의 수 \(B\)가 공백으로 구분되어 주어진다.

둘째 줄에는 밟을 수 없는 계단의 번호 \(B\)개가 공백으로 구분되어 주어진다. \(B=0\)이면 둘째 줄은 주어지지 않는다.

출력

조건을 만족하는 방법의 수를 출력한다.

제한

  • \(1 \le N \le 15\)
  • \(1 \le K \le 15\)
  • \(0 \le B \le N-1\)
  • 밟을 수 없는 계단의 번호는 서로 다르며, 1 이상 \(N-1\) 이하이다.

예제 입력

3 3 1
2

예제 출력

2

예제 설명

1 2는 2번째 계단을 뛰어넘고, 3은 그 계단을 밟지 않고 곧바로 도착한다. 1 1 12 1은 2번째 계단을 밟으므로 제외된다.


코멘트

현재 작성된 코멘트가 없습니다.