Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Fibonacci Number

Write a program which prints $n$-th fibonacci number for a given integer $n$. The $n$-th fibonacci number is defined by the following recursive formula:

\begin{equation*}
fib(n)= \left \{
\begin{array}{ll}
1　 & (n = 0) \\
1　 & (n = 1) \\
fib(n - 1) + fib(n - 2) & \\
\end{array}
\right.
\end{equation*}

Input

An integer $n$ is given.

output

Print the $n$-th fibonacci number in a line.

Constraints

$0 \leq n \leq 44$

Sample Input 1

3

Sample Output 1

3

Solution in C# (judge verdict: Accepted)

using System.Linq;
using System;

public class hello
{
    public static void Main()
    {
        var n = int.Parse(Console.ReadLine().Trim());
        var dp = Enumerable.Repeat(-1, 45).ToArray();
        var ans = Fib(n, dp);
        Console.WriteLine(ans);
    }
   public static int  Fib (int n,int[] dp)
    {
        if (dp[n] != -1) return dp[n];
        if (n == 0 | n == 1) return 1;
        else
        {
            var t1 = Fib(n -1,dp);
            if (dp[n - 1] == -1) dp[n - 1] = t1;
            var t2 = Fib(n - 2, dp);
            if (dp[n - 2] == -1) dp[n - 2] = t2;
            return t1 + t2;
        }
    }
}