#include #include #include #include #include #include #include #include #include // require sort next_permutation count __gcd reverse etc. #include // require abs exit atof atoi #include // require scanf printf #include #include // require accumulate #include // require fabs #include #include #include #include // require setw #include // require stringstream #include // require memset #include // require tolower, toupper #include // require freopen #include // require srand #define rep(i,n) for(int i=0;i<(n);i++) #define ALL(A) A.begin(), A.end() /* No.44 DPなすごろく DP解: dp[0] = 1; dp[1] = 1; dp[i] = dp[i-1] + dp[i-2];(フィボナッチ数列) */ using namespace std; typedef long long ll; typedef pair P; const int MAX_N = 55; ll dp[MAX_N]; int main() { memset (dp, 0LL, sizeof (dp ) ); ios_base::sync_with_stdio(0); int N; cin >> N; dp[0] = 1LL; dp[1] = 1LL; for (int i = 2; i <= N; i++ ){ dp[i] = dp[i-1] + dp[i-2]; } // end for cout << dp[N] << endl; return 0; }