我提交的代码和书上答案有点不一样,我的dp[2]=2,而按书上算的话dp[2]=1。我的也能通过。

#include <iostream>

using namespace std;

const int N = 91;

long long dp[N];

void init(){
    dp[0] = 0;
    dp[1] = 1;
    dp[2] = 2;
    for(int i = 3; i < N; i++){
        dp[i] = dp[i-1] + dp[i-2];
    }
}

int main(){
    int n;
    while(cin >> n){
        init();
        printf("%lld\n", dp[n]);
    }
}