踏方格(情報学オリンピック一本通-T 1196)


【タイトル説明】
行列の境界が無限遠にある格子行列がある.次のように仮定します.
a、一歩歩くたびに、現在のグリッドから1格だけ移動して、隣接するグリッドに行くことができます.
b、歩いた格子はすぐに陥没して二度と歩けない.
c、北、東、西の3つの方向にしか歩けない.
すみません、四角行列の上でn歩を歩くことを許可すれば、何種類の異なる案がありますか.2つの歩き方は、一歩でも異なるものがあれば、異なる案とされています.
【入力】
四角い格子の上を歩くことができる歩数n(n≦20).
【出力】
計算されたシナリオの数.
【入力サンプル】
2
【出力サンプル】
7
【ソースプログラム】
#include 
#include
using namespace std;
int a[30];
int main()
{
    int n,i;
    cin>>n;
    a[1]=3;
    a[2]=7;
    for(i=3;i<=n;i++)
        a[i]=2*a[i-1]+a[i-2];
    cout<