1、题意:每次可向上、左、右走,不可走走过的地方,输出走n步路线数
2、思路:感觉类似递推问题,母牛生小牛的、找出n步与n-1步的关系。
3、感想:原想类似于9—移动路线,后来发现不能走走过的路,在多种走法间产生歧义,只得转换思路,发现与母牛问题类似,在此题上花费了一些时间,源于思维定势
4、代码:
#include<iostream>
using namespace std;
int main()
{
long long n,i,x,y,a,b,s[21];
s[1]=3;
x=1;y=2;
for(i=2;i<=20;i++)
{s[i]=3*x+2*y;
a=x;b=y;
x=a+b;y=2*a+b;
}
cin>>n;
cout<<s[n]<<endl;
}