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;
using System.Collections.Generic;
using System.Text;

class Program
{
	static Dictionary<int, int> dp = new Dictionary<int, int>() {{ 0, 1 }, { 1, 1 }};

	static void Main(string[] args)
	{
		string[] inputs = Console.ReadLine().Split();
		System.Console.WriteLine(Fib(int.Parse(inputs[0])));
	}

	static int Fib(int i)
	{
		return dp.ContainsKey(i) ? dp[i] : dp[i] = Fib(i - 1) + Fib(i - 2);
	}
}