题解 | #机器人达到指定位置方法数#

机器人达到指定位置方法数

http://www.nowcoder.com/practice/54679e44604f44d48d1bcadb1fe6eb61

package main
import (
    "fmt"
)

func main() {
    var n, m, k, p int
    var mod int = 1e9 + 7
    fmt.Scan(&n, &m, &k, &p)
    dp := make([]int, n + 1)
    dp[p] = 1
    for i := 1; i < k + 1; i++ {
        leftUp := dp[1]
        for j := 1; j < n + 1; j++ {
            temp := dp[j]
            if j == 1 {
                dp[j] = dp[j + 1] % mod
            } else if j == n {
                dp[j] = leftUp % mod
            } else {
                dp[j] = (dp[j + 1] + leftUp) % mod
            }
            leftUp = temp
        }
    }
    
    fmt.Println(dp[m] % mod)
}
全部评论

相关推荐

点赞 评论 收藏
分享
04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
lllllkin:感觉可以精简到一页简历,有些排版感觉不是必须的。 时间线越早的,你自己越熟悉的放前面。描述可以更精简些,一些问题解决感觉可以不用写具体技术栈,卖个关子,等面试官问。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务