int fibo1(int n) { if (n < 1) { return 0; } else if (n == 1) { return 1; } else { return fibo2(n-1) + fibo2(n-2); } }
long long fibo2(int n) { static long long memo[MAXN]; if (memo[n] > 0) return memo[n]; if (n == 1 || n == 2) return memo[n] = 1; else return memo[n] = fibo2(n - 1) + fibo2(n - 2); }