2*nタイル


問題の説明
長方形のタイルがあり、横方向の長さは2、縦方向の長さは1です.この矩形タイルを用いて床を充填し,床の長手方向長さは2,横方向長さはnである.タイルを充填するには2つの方法があります.
  • タイルを水平に置く場合は
  • である.
  • タイル垂直置き時は
  • 例えば、nが7の矩形を以下のように充填することができる.

    せいげんじょうけん
  • 街の長さnは60000以下の自然数である.
  • の場合の数が多くなる可能性があります.状況の数を100000007で割って返してください.
  • JAVAコード
    class Solution {
        public int solution(int n) {
            int answer = 0, n1 = 0, n2 = 1;
          
            for(int i=0;i<n;i++){
                answer = (n1 + n2) % 1000000007;
                n1 = n2;
                n2 = answer;
            }
            return answer;
        }
    }