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]