这个题可以理解为一个递推的题目吧;
递推方程是aa[i]=aa[i-1]+2*aa[i-2];
思路:分第i-2步是否在A点;
当在A点时,第i-1步有2种走法;所以是2×aa[i-2];
当不在A点时;那第i-1步也不能在A点(题目要求),所以就只能走B或C,所以aa[i-1];
#include <iostream>
using namespace std;
__int64 aa[1001];
int main()
{
aa[1]=0;
aa[2]=2;
aa[3]=2;
aa[4]=6;
for (int i=5; i<1001; ++i)
{
aa[i]=(aa[i-1]+2*aa[i-2])%10000;
}
int a;
while (cin>>a && a)
{
cout<<aa[a]<<endl;
}
}