码迷,mamicode.com
首页 > 其他好文 > 详细

编程中的一个易错点:判断某个点是否超出棋盘边界

时间:2018-02-05 21:51:36      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:code   source   als   down   span   pos   一个   wro   二维空间   

给定一个r行c列的棋盘,给定一个点x,y,要求判断点(x,y)处是否可以放置棋子。

判断越界时不能转化成一维判断越界,判断越界必须在二维空间中进行。

r, c = 3, 3
a = [0] * (r * c)


def right_legal(x, y):
    return r > x >= 0 and c > y >= 0 and a[x * c + y] == 0


def wrong_legal(x, y):
    p = x * c + y
    return r * c > p >= 0 and a[p] == 0


print(right_legal(0, 4))#False,不合法,已经越界了
print(wrong_legal(0, 4))#True,合法,转化成一维后相当于(1,3)点

编程中的一个易错点:判断某个点是否超出棋盘边界

标签:code   source   als   down   span   pos   一个   wro   二维空间   

原文地址:https://www.cnblogs.com/weidiao/p/8419180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!