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

Posted weidiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程中的一个易错点:判断某个点是否超出棋盘边界相关的知识,希望对你有一定的参考价值。

给定一个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)点

以上是关于编程中的一个易错点:判断某个点是否超出棋盘边界的主要内容,如果未能解决你的问题,请参考以下文章

三子棋代码实现思路解析与易错点纠正

Java代码实际应用中的易错点记录

Linux Bash Shell 中变量的 5 个易错点

[Mdfs] lc797. 所有可能的路径(图遍历+dfs易错点+知识理解)

[Mdfs] lc797. 所有可能的路径(图遍历+dfs易错点+知识理解)

团体程序设计天梯赛L1-025 正整数A+B (15分)(易错点和测试点分析)