题目
分析
递归超时了(of course)
动态规划可以解决时长问题,后续跟新吧
20分代码(递归)
#include<bits/stdc++.h>
using namespace std;
int sum=0;
int n;
void f(int x,int y,int v,int u,int num) {
if(num==n-1) {
sum++;
if(x==0 || y==0||v==0||u==0)
sum--;
return;
}
if(u==0) { //3没有出现
f(x,y,1,u,num+1);//填2
}
if(y==0) { //1没有出现
f(1,y,v,u,num+1);//填0
}
f(x,1,v,u,num+1);//填1
f(x,y,v,1,num+1);//填3
}
int main() {
cin>>n;
f(0,0,1,0,0);
cout<<sum<<endl;
}