4103:踩方格

4103:踩方格

题目链接http://bailian.openjudge.cn/practice/4103/

#include<iostream>
using namespace std;

long long solve(int n, int s) {
    
    
	if (n == 0)
		return 1;
	long long  temp = 0;
	if (s == 0) {
    
    
		temp += 2 * solve(n - 1, 1);//向西和东走
		temp += solve(n - 1, 0);//向北走
	}
	else if (s == 1) {
    
    
		temp += solve(n - 1, 0) + solve(n - 1, 1);//向北+向西(东)
	}
	return temp;
}
int main() {
    
    
	int n;
	cin >> n;//n表示还有多少步要走,
	printf("%lld",solve(n,0));//0表示有三个方向可以走,1表示只有两个方向可以走
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_46028214/article/details/113100223
今日推荐