NOI在线题库100008. 奶牛散步

题目描述

从一个无限大的矩阵的中心点出发,一步只能向右走、向上走或向左走。恰好走N步且不经过已走的点
共有多少种走法?

输入

一个数字,代表N,1<=N<=1000


输出

输出有多少方案,结果巨大,将输出mod 12345的结果.

样例输入

2

样例输出

7



水题~~







先分析一下
可以向上,左,右走

分成两种情况

1.上一步向上走
此时可以向上,左,右走


2.上一步可以向左,右走
此时可以向上,左或向上,右走

u表示上一步向上走的情况
lr表示上一步向左或右走的情况


u1表示这一步向上走的情况
lr1表示这一步向左或右走的情况


#include 
int n,u,lr,u1,lr1;
int main(){
	scanf("%d",&n);
	u=1;lr=0;
	for(int i=1;i<=n;++i){
		u1=u%12345;lr1=u*2%12345;
		u1=(u1+lr)%12345;lr1=(lr1+lr)%12345;
		u=u1;lr=lr1;
	}
	printf("%d",(u+lr)%12345);
	return 0;
}


你可能感兴趣的:(递推)