1 | #include <bits/stdc++.h> |
2 | #define ll long long |
3 | |
4 | using namespace std; |
5 | |
6 | int main() { |
7 | std::ios_base::sync_with_stdio(false); |
8 | cin.tie(0); |
9 | cout.tie(0); |
10 | int n; |
11 | cin >> n; |
12 | ll dp[n + 1][2] = {}; |
13 | |
14 | dp[1][0] = dp[1][1] = 1; |
15 | for (int i = 2; i <= n; ++i) { |
16 | dp[i][0] = dp[i - 1][0] + dp[i - 1][1]; |
17 | dp[i][1] = dp[i - 1][0]; |
18 | } |
19 | |
20 | cout << dp[n][0] + dp[n][1]; |
21 | |
22 | return 0; |
23 | } |
24 | |
25 | |
26 | n = 3 |
27 | 000 |
28 | 001 |
29 | 010 |
30 | 011 - x |
31 | 100 |
32 | 101 |
33 | 110 - x |
34 | 111 - x |
35 | |
36 | dp[len][0] |
37 | dp[len][1] |
38 | |
39 | 0 |
40 | 1 |
41 | |
42 | dp[1][0] = 1 |
43 | dp[1][1] = 1 |
44 | |
45 | 00, 10 |
46 | 01 |
47 | dp[2][0] = dp[1][0] + dp[1][1] = 1 + 1 = 2 |
48 | dp[2][1] = dp[1][0] = 1 |
49 | |
50 | 000, 100, 010 |
51 | 001, 101 |
52 | dp[3][0] = dp[2][0] + dp[2][1] = 2 + 1 = 3 |
53 | dp[3][1] = dp[2][0] = 2 |
54 | */ |
55 | |
56 | |