1658. 走法(problem2)

1658. 走法(problem2)

题目描述
从原点出发,一步只能向右走、向上走或向左走。恰好走N步且不经过已走的点共有多少种走法?

输入
一个数字N<=1000

输出
一个数表示所求答案mod 12345.

样例输入

2

样例输出

7

思路:
我们设f[i]表示走i步的方案。
那伪递推式就等于:
f[i]=f[i].up+f[i].left+f[i].right

f[i].up(第i步向上的方案数)就等于f[i-1],因为上一步的每一种方案都可以向上走;

f[i].left(第i步向左的方案数)就等于f[i-1].up+f[i-1].left,因为不能走已走的点,所以f[i].right要排除。

f[i].right(第i步向右的方案数)就等于f[i-1].up+f[i-1].right,同理

f[i]=f[i-1]+f[i-1].up+f[i-1].up+f[i-1]
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值