题解 | [NOIP2002 普及组] 过河卒

[NOIP2002 普及组] 过河卒

https://www.nowcoder.com/practice/8439d41faa254418a3146c8cc0a68d62

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 棋盘行数
# @param m int整型 棋盘列数
# @param x int整型 马的横坐标
# @param y int整型 马的纵坐标
# @return int整型
#
class Solution:
    def crossRiver(self , n: int, m: int, x: int, y: int) -> int:
        # write code here
        m,n=m+1,n+1
        dp=[[0]*(m) for _ in range(n)]
        dict1={(x,y),(x-1,y-2),(x-1,y+2),(x-2,y-1),(x-2,y+1),(x+2,y-1),(x+2,y+1),(x+1,y-2),(x+1,y+2)}
        for i in range(0,n):
            for j in range(0,m):
                if (i,j) not in dict1:
                    if i==0 and j==0:
                        dp[i][j]=1
                    elif i==0:
                        dp[i][j]=dp[i][j-1]
                    elif j==0:
                        dp[i][j]=dp[i-1][j]
                    else:
                        dp[i][j]=dp[i-1][j]+dp[i][j-1]
                else:
                    dp[i][j]=0
        return dp[-1][-1]
        
            





全部评论

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
Java面试先知:我也是和你一样的情况,hr 说等开奖就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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