File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed
Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.BufferedReader ;
3+ import java.io.IOException ;
4+ import java.io.InputStreamReader ;
5+
6+ public class Main {
7+ public static void main (String [] args ) throws IOException {
8+ var br = new BufferedReader (new InputStreamReader (System . in));
9+ int N = Integer . parseInt(br. readLine());
10+ int M = Integer . parseInt(br. readLine());
11+ boolean [] vip = new boolean [N + 1 ];
12+
13+ for (int i = 0 ; i < M ; i++ ) {
14+ int v = Integer . parseInt(br. readLine());
15+ vip[v] = true ;
16+ }
17+
18+ int [] dp = new int [N + 1 ];
19+
20+ dp[0 ] = 1 ;
21+ dp[1 ] = 1 ;
22+ if (N >= 2 ) dp[2 ] = 2 ;
23+ for (int i = 3 ; i <= N ; i++ ) {
24+ dp[i] = dp[i - 1 ] + dp[i - 2 ]; // 피보나치 쓰
25+ }
26+
27+ int answer = 1 ;
28+ int prev = 0 ;
29+ for (int i = 1 ; i <= N ; i++ ) {
30+ if (vip[i]) {
31+ int len = i - prev - 1 ;
32+ answer *= dp[len];
33+ prev = i;
34+ }
35+ }
36+ answer *= dp[N - prev];
37+
38+ System . out. println(answer);
39+ }
40+ }
41+ ```
You can’t perform that action at this time.
0 commit comments