题意:
给上述图片,一个蚂蚁从D点出发,即经过下面A,B,C三个点重新回到D点,给定一个数 n ,问经过 n 条边回到D 点的路径有几条?
输入:
2
4
输出:
3
21
分析:
规律:n=0,n=1时是0,n=2时是3.,n=3时是6,n=4时是21,n=5时是60,n=3*(n-2)+2*(n-1);
代码:
#include <bits/stdc++.h>
#define MOD 1000000007
using namespace std;
const long long int maxn=10000010;
int f[maxn]= {0,0,3,6};
int main()
{
long long int n;
cin >> n;
for(int i = 4; i <= n; i++)
{
f[i] = (3*f[i-2] + 2*f[i-1])%MOD;
}
cout << f[n] << endl;
return 0;
}