检查任何正方形(带有一个彩色单元格)是否可以在 Python 中分成两个相等的部分
假设我们有一个大小为n的正方形。n个大小的正方形被进一步分成n2个更小的正方形。较小的正方形具有单位大小,其中一个正方形用独特的颜色着色。
现在,如果我们将较大的正方形切割成两个相等的部分,我们必须以这样的方式切割它,以便切割线与那个独特颜色的小正方形没有任何共同点。我们还必须考虑这样一个事实,即新切割的两块是彼此的镜像。因此,我们必须找出在条件下是否可以切割这样的正方形。我们有n的值和彩色方块在较大方块中的位置。
因此,如果输入类似于size=50、colored_row_pos=25、colored_col_pos=25,那么输出将是“无法切割”。
为了解决这个问题,我们将按照以下步骤操作-
中间:=尺寸/2的底值
如果(middle与colour_row_pos相同或middle与colour_row_pos-1相同)并且(middle与colour_col_pos相同或middle与colour_col_pos-1相同),则
返回错误
否则,
返回真
让我们看看以下实现以获得更好的理解-
示例
def solve(size, colored_row_pos, colored_col_pos) : middle = size //2 if (middle == colored_row_pos or middle == colored_row_pos - 1) and (middle == colored_col_pos or middle == colored_col_pos - 1) : print("Cutting is not possible") else : print("Cutting is possible") size = 50 colored_row_pos, colored_col_pos = 25, 25 solve(size, colored_row_pos, colored_col_pos)
输入
50, 25, 25输出结果
Cutting is not possible